摘要:
原帖地址:http://blog.csdn.net/xsckernel/article/details/9015367branch正确的情况下, 不知为什么,在push的时候总是出现:fatal: remote error:You can't push to git://github.com/user_name/user_repo.gitUse git@github.com:user_name/user_repo.git的提示, 解决办法:$ git remote rm origin$ git remote add origin git@github.com:user_name/use 阅读全文
摘要:
Shell编程学习笔记条件判断1)-n:字符串不为null时为trueif [ -n "$str" ]; then echo "not null"fi2)-z:字符串为null或空字符串时为trueif [ -z "$str" ]; then echo "null or empty string"fi3)-f:文件存在时返回trueif [ -f "$temp_file" ]; then echo "File exists"fi特殊意义的符号1. $$:Shell scrip 阅读全文
摘要:
系统为Ubuntu 11.10。1.首先安装vim-gtk2.然后在vim的配置文件里加上下面两句:set clipboard=unnamedset clipboard+=unnamedplus因为终端vim的剪贴板并不与系统共享,所以需要安装gvim(vim-gtk或vim-gnome,区别是两者依赖的package不同,其实提供的都是同一个东西)。 阅读全文
摘要:
ContainersSet HashSet, TreeSet, LinkedHashSet Set中不允许有重复元素存在。HashSet中元素的顺序是随机的,TreeSet中的元素默认按照升序排列(内部实现是红黑树),LinkedHashSet按照插入时的先后排列。Map HashMap, TreeMap, LinkedHashMap HashMap使用的查找算法与HashSet是一样的,事实上HashSet就是用HashMap来实现的;TreeMap默认按照升序排列;LinkedHashMap按照key-value插入的顺序排列,同时保持和HashMap一样的查找速度(没有看源码验... 阅读全文
摘要:
数据流重定向在Shell中,数据流可以使用符号来表示:1、标准输入(stdin):代码为0,使用(覆盖)或>>(累加)3、标准错误输出(stderr):代码为2,使用2>或2>>例子:ls /home > ~/fileinfo以上命令会将ls /home的结果输出到目录~/下的fileinfo文件中。find /home -name .bashrc > list_right 2> list_error在/home目录下查找名为.bashrc的文件,正确的输出信息存到list_right中,错误信息存到list_error中。管道命令ls -al 阅读全文
摘要:
嵌套函数作用域def make_adder(augend): def add(addend): return augend + addend return add内部的函数可以访问外部函数scope内的变量,但是不能够重新对其赋值。如果重新赋值那么会在内部函数的scope内创建一个同名的本地变量(Python不允许对non-local变量赋值)。yield和生成器(generator)generator是通过执行generator function来创建的。generator function是函数体中有yield语句的函数。generator的用途是用来生成一系列的值,genera... 阅读全文
摘要:
算法思想:借助最大堆的性质,堆的根节点是最大的节点,每次迭代将根节点从堆中摘除,用最末一个叶子节点替代原先的根节点,此时新生成的树不具有堆的性质,所以要对树的结构进行调整,让新树的根下降到较低的层次(最大堆的根节点不小于它的子节点),以此来重新构造一个最大堆。算法步骤:1、首先建立最大堆2、排序思想是每次迭代都把根元素与最后一个元素交换,同时剔除根元素(heapSize - 1),再对交换上来的根进行调整,保持堆的性质。 1 // 最大堆调整 2 // i为待调整的根节点 3 void maxHeapify(int *A, int i, int size) { 4 // 根编号为0的左... 阅读全文
摘要:
问题定义: 求数组A中一个连续的和最大的子数组。比如数组[4,5,-6,7,-3,1]的最大子数组是[4,5,-6,7],和为10。解法一:分治法 可以把问题转化成求两个子数组的最大子数组问题。令mid为数组A[low, high]的中间位置,则A[low, high]的最大子数组所处的位置存在如下三种情况:1、完全位于A[low, mid]之中2、完全位于A[mid+1, high]之中3、横跨中点mid对于1、2两种情况相当于将问题的规模缩小为原来的一半,因此只需要递归求解即可。第3种情况需要单独考虑。首先可知横跨中点mid的子数组中一定包含元素A[mid],则我们可以将第3种情况一分.. 阅读全文
摘要:
1、Shell中的指令格式为:command [-options] parameter1 parameter21)一行指令中第一部分输入绝对是指令(command)或者可执行文件。2)几个部分使用空格隔开,多个空格都视为一个2、命令bc是一个简单的计算器进入bc后,输入scale=3表示精确到小数点后3位3、查询某个命令的使用方法找男人(man命令),man command例如:man date在man命令显示出的帮助信息中导航:空格:向下翻一页Home:回到第一页End:最后一页/string:向下搜索string字符串,高亮显示找到的string?string:向上进行搜索n,N:n... 阅读全文
摘要:
昨天参加了美团的校园招聘笔试,大部分是算法设计题,所以打算总结一下算法设计的步骤。1. 弄清楚题目的意思,列出题目的输入、输出、约束条件其中又一道题目是这样的:“有一个mxn的矩阵,每一行从左到右是升序的,每一列从上到下是升序的。请实现一个函数,在矩阵中查找元素elem,找到则返回elem的位置。”题设只说了行和列是升序的,我在草稿纸上画了一个3x4的矩阵,里面的元素是1~12,于是我就想当然的认为矩阵的左上角是最小的元素,右下角是最大的元素。于是整个题目的思考方向就错了。2. 思考怎样让算法的时间复杂度尽可能的小继续以上面的题目为例子。可以有如下几种算法:a. 遍历整个矩阵进行查找,那么复杂 阅读全文