• 使用goagent翻墙

    Forums: 

    翻墙的原因很多,比如 u 想上 google+、facebook 或是 twitter,但是国内却上不去;比如 u 想 google 一个问题,页面却打不开;比如 u 想学下 golang 这门语言,官网上不去,O__O"…me 反感这堵——墙。me 有时候很诧异,如果说有些人不会翻墙就罢了,因为他们压根儿也没有介个需求(有些人甚至不怎么上网),但是有些人(特别是那么些搞 it 的)竟然不知道 me 就很奇怪,难道工作或是学习中遇到的问题都是在 —— 百度吗?

    IPV6

    废话不多说,先说一个简单的方法,通过 IPv6。介个方法并不是通用可行,因为 u 的网络也许并不支持 ipv6(并不是说自己的电脑不支持,是网络不支持!),介就没有办法了。可以通过在控制面板 --> 网络和Internet --> 网络连接中查看,自己使用的网络的状态,看看 ipv6 是否支持,如果支持的话,最好了。支持 IPv6 的网络,me 们只需要修改 host 文件,就可以实现访问不能访问网站的目的。host 是关联 ip 和 域名的地方,貌似 ipv6 的访问不会被“墙”限制,不过网速可能会慢一些。

  • 算法题集

    img: 

    算法题集

    今天群里有个人提了一个算法题目,me 不会,故就有了将题目搜集和记录下来的想法,以后闲暇之余可以消磨一下时光,或是派上其他用场。

    单词博弈

    甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的 (按字典序a < b < c < .... < z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都不会选输的方案 ),甲先开始,问他能赢么?

    输入: 一连串英文小写字母,长度不超过 15,保证最开始的状态不是一个严格单增的序列。

    输出:1 表示甲可以赢,0 表示甲会输。

    例如:输入 bad, 则甲可以删掉 b 或者 a ,剩余的是 ad 或者 bd ,他就赢了,所以结果输出 1。 又如:输入 aaa , 则甲只能删掉1个 a,乙删掉一个 a,剩余 1 个a,乙获胜,所以结果输出 0 。

  • JavaScript 的基本类型

    JavaScript 的基本类型

    JavaScript 的语言 core (核心)部分由 ECMA 标准化,所以 core 的部分又叫 ECMAScript 。实际浏览器端的 JavaScript 还包括对 DOM 和 BOM 的操作接口,不过这里 me 们只关心 JavaScript 的语言部分,而不是它如何操作浏览器端的东西。

    JavaScript 的类型有些奇怪,所以这里用一篇介绍和汇总一些基础知识和一些容易出错的地方,仅供参考。实际上类型转换更为奇葩,不过那不是本篇的内容了。

    类型简述

    先说一下 JS (JavaScript) 的变量定义: var i = 42; 甚是简单,不用明确指定类型;而且一个变量的类型在运行过程中可以改变: i = "hello"; 所以 JS 是弱类型和动态类型的语言。

    JS 的类型有 :Undefined Null Boolean Number String Object ,后面几种典型的翻译:布尔、数值、字符串和对象,前面两个 me 赶脚不用翻译(因为它们都只有一个值可以取)。

    Tags: 

  • linux 常识

    文件和目录

    linux 的文件和目录对应于 windows 下的文件和文件夹。不过 linux 的文件又是个比较抽象的概念,凡是可以“读写”的东西都可以视为“文件”,所以目录也是一种特殊的“文件”,这一点在编程的时候可能体现的更多一点。

    文件路径

    windows 下的路径类似于 D:\projects\hello.c ,而 linux 的路径则类似于 /home/ant/projects/hello.c 。也就是 linux 下的路径均以 / 开始,这是根目录

    Tags: 

  • 正则表达式 Regular Expression 基本用法

    正则表达式是一个好东西,在字符串搜索中可能用的最多,比如在一个很大的文件中找出来所有的 url 链接,或是找出来所有的 email 地址。正在表达式最初在 perl 中使用,后来几乎所有的语言中都加入了其实现。本篇要说的是 ECMAScript 也就是 JavaScript 中的正则表达式,在不同语言中的其记号和含义大体相同,不过可能略有差异。

    正则表达式:

    正则表达式是用来表示模式 pattern 串,给出一类字符串的抽象表示,比如邮政编码的具体写法很多,比如 310007、300000,但是都满足 6 位数字,这种“模式”使用正则表达式记法就是 \d{6}。{6} 表明前面的字符出现 6次,\d 表明是数字,也就是 0 1 2 3 4 5 7 8 9。模式串中出现的大多数字符就是其字符本身,然而有些特殊字符(元字符),因为特殊意义而并不代表其本身,比如前面的 { 指代的就不是字符 {,而是 {6} 的一部分。

    普通字符

    除了一些特殊字符外的字符,都是普通字符,比如 a b c 0 1 2 X Y Z , : 等等。问题是,哪些是特殊字符? ^ $ \ . * + ? [ ] { } ( ) / 这些是特殊的字符,在正则表达式出现代表了特殊的含义,下面会提到。

    Tags: 

  • 2014年腾讯校招笔试(10月26号)题目

    Forums: 

    2014年腾讯校招笔试(10月26号)题目

    昨天腾讯笔试,不多说了,O__O"… 选择题 25 题,每题 4 分,一共 100 分;填空题每空 4 分,5 个空,一共 20 分。选做题四题,每题 20 分,选做一题,不计入总分。选择题都是不定项选择,多选、少选、错选均不得分。O__O"… 前三题不会写,第四题赶脚答案有误,... O__O"…算了,不多说,下面是题目,自己看。

  • MathJax例子

    Forums: 

    华丽滴排版

    $$ \left [ - \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi $$

    数学方程

    $$ g\frac{d^2u}{dx^2} + L\sin u = 0 $$

    $$ J_\alpha(x) = \sum\limits_{m=0}^\infty \frac{(-1)^m}{m! \, \Gamma(m + \alpha + 1)}{\left({\frac{x}{2}}\right)}^{2 m + \alpha} $$

  • 批量文件重命名

    Forums: 

    批量文件重命名

    这是一个需求,很多时候 me 们会下了很多文件,比如图片文件,下载的文件名字一般都比较乱,总有一天 me 们希望整理一下,使用编号是个不错的选择,比如 1.jpg、2.jpg、3.jpg 等。一个一个重命名在数据量小的时候也无所谓,但是对于上百个文件甚至上千个,希望重命名,这...

    这里写了个小程序,使用 UNIX/Linux 下的 api,打开目录,遍历文件,然后一一重命名,按编号递增顺序;这里也让名字的长度一致,比如都是 3 位,这样的话就有 010.jpg、099.jpg 这样的名字(编号前面补空缺的 0 的一个原因是:在 me 们选择按名字排序的时候,排序结果和编号顺序一致,否则 9.jpg 会在 10.jpg 的后面,自己猜原因,O__O"…)。

    为了提供一定的灵活性,目录文件后缀起始编号文件名长度可以通过参数设置。

  • 计算机笔试面试题目

    Forums: 

    计算机笔试面试题目

    1. 1 - 4000 里面有多少个数,组成该数的数字之和能被 4 整除?
    2. 神马是拷贝构造函数 ? 构造的时机有哪些 ?
    3. c++ 中虚函数跟 java 的抽象函数有啥区别 ?
    4. delete 数组时如何知道数组大小 ? malloc 的过程是怎么样的 ?
    5. sql 中 inner join 和 outer join 的区别;
    6. B+ 树是神马 ?
    7. 一个有序数组循环偏移了一下,求偏移距离 ?
    8. 将浮点数转化为字符串 ? 将字符串转化为浮点数 ?
    9. 去掉所有连续相同的字符,空间复杂度为 O(1) ;
    10. 给你一个字母集合,如 {a,b,c,d} 和一个字符串 aecdbfaab , 求该字符串包含字母集合的最短子串;
    11. 给你三个排序的数组 A、B、C,求min{max{|A[i] - B[j]|, |A[i] - C[k]|, |B[j] - C[k]|}},i、j、 k是任意的;
    12. 栈中快速找最大元素,空间复杂度尽可能的小;
  • 找出重复元素

    找出重复元素

    给一个序列,比如 1 2 3 2 4 5,重复元素是 2。现在就是给一个序列,找出所有的重复元素。

    两层的循环,me 就不多说了,就是时间效率比较低,O(n2)。如果考虑将前面遍历过的元素放入一个 set 或是 map 中,方便后续查看是否已经存在,那么时间复杂度就会降低。使用 tree 实现的 set/map,时间复杂度是 O(nlogn);使用个hash 实现的 set/map,时间复杂度是 O(n)。所以,如果可使用 hash 实现的 set/map。

    c++ 中的 set/map 是 tree 实现的,unordered_set/unordered_map 是 hash 实现。

    和本题有类似解法的题目还有:

Pages