上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 69 下一页
摘要: int a;while (a != 0) cout << a << endl;之前对上面这上面的理解很肤浅,认为输出cout就是个输出标志,并且有时候忘记是"<<" 还是">>"。现在理解稍微深了些:cin 、 cout 只是个对象而已 C++中输入、输出由标准库iostream库提供的。iostream库的基础是两个命名为istream和ostream的类型,分别表示输入流和输出流。cin是istream类型的对象,cout是ostream类型的对象。<< 、 >> 是重定向符 上 阅读全文
posted @ 2013-04-11 20:51 jihite 阅读(1082) 评论(0) 推荐(1) 编辑
摘要: 上篇谈到了用异或来解决,确实是个好方法,时间复杂度为o(n),比例一遍ok,空间复杂度为o(1),只占用一个空间足矣。现在把这个问题升级下:(1)给出n个数,其中有且仅有一个出现了奇数次,其余的都出现了偶数次。用线性时间常数空间找出这个出现奇数次的数(2)给定n个数,其中有且仅有两个出现了奇数次,其余的都出现了偶数次。用线性时间常数空间找出这两个出现奇数次的数原理(原理不是很懂的,先看看上篇)任何数和自己异或为0任何数和0异或为自己异或具有交换律思路(1)一个出现奇数次出现偶数次的一异或为0了,对剩下的奇数次数不造成干扰奇数次(2n+1)的前2n次一异或为0了,对剩下那个数不造成干扰剩下的那个 阅读全文
posted @ 2013-04-04 23:38 jihite 阅读(2305) 评论(8) 推荐(1) 编辑
摘要: 问题定义:有2n+1个数,只有一个单着,别的都是成对的,找出这个单着的数。比如:2 1 3 2 1。3是答案。思路一:暴力搜索——每个数都和其他数比较,找不到相同的,就得到了结果。时间复杂度为o(n2)思路二:排序搜索——先给序列排个序,之后从前往后一对一对的找,直到不是成对的为止。时间复杂度,怎么也得o(nlgn)思路三:异或计算,一趟搞定。时间复杂度o(n)直接看思路三:原理:异或操作(^)——(对于位操作)相同为0,相异为1.比如:1^0 = 1, 1 ^1=0这样:两个相同的数异或就为0任何数和0异或为自己(转化到位。1^0 = 1,0 ^0=0)例如:5 ^ 5 = 0 5 ^0 = 阅读全文
posted @ 2013-04-03 22:42 jihite 阅读(2968) 评论(13) 推荐(3) 编辑
摘要: 本文从三个层次分析最大公共子序列最大公共子序列长度最大公共子序列算法分析首先来个区别:单词"cnblogs"子序列:从单词中抽取字符,不能保证连续抽取。如”cn"、“cns"、”bgs"连续子序列:从单词中连续抽取字符。如“bolog"、”cnbl"最长公共子序列(LCS:Longest Common Subsequence)顾名思义,就是几个词语中最长的相同子序列。比如“cnblogs"和”belong"最大公共子序列是“blog" 最长公共子序列是个非常有用的算法,可以判断两段文字间的”雷同 阅读全文
posted @ 2013-03-31 21:24 jihite 阅读(4577) 评论(5) 推荐(2) 编辑
摘要: Linux操作系统认识的语言是二进制文件。具体的从编程到执行的过程是:首先利用高级语言(例如c语言)在文本编辑器(例如vim)写好源程序,再利用编译器(例如gcc)进行编译,再链接到已存在的函数库,最终产生可以执行的可执行文件。如图: 下面对c语言代码编译来逐步了解如何利用gcc编译程序1.单个程序#include<stdio.h>int main(){ printf("Hello World!"); return 0;}看看编译过程:可以指定可执行文件的名称。有两个参数重要的参数 -c——生成目标文件(.o文件) -o——生成可执行文件。看下面执行过程2.多个 阅读全文
posted @ 2013-03-27 08:55 jihite 阅读(802) 评论(2) 推荐(0) 编辑
摘要: Linux做最突出的地方之一是它的多用户、多任务环境。这一点的最重要的出发点就是安全机制。先看下例:场景:公司里有两个项目组:小组A和小组B。为了保密起见,小组内的进度、文档、程序都有小组内公开。比如小组A中,小组内的成员可以相互查看彼此的文件,但是小组内成 员都有自己的抽屉,里面有自己的隐私文件,不允许是看不了的(抽屉锁着)。小组B里的人相对于小组A来说是其他人。如果没进过小组成员的同意,是看不到A、B或C的资料的。这里边有个执掌大权的boss,他拥有无所不能的权利(包括查看用户的抽屉)。这就是Linux用户及用户组的现实写照。用户:A、B、C、甲、乙都是用户,就是主体用户组:有一个或多个用 阅读全文
posted @ 2013-03-26 23:56 jihite 阅读(2216) 评论(8) 推荐(7) 编辑
摘要: 我们知道程序无非三种执行方式——顺序、条件、循环。顺序就是一条一条的执行,是一马平川;条件就是个十字路口,根据条件决定自己的走向;循环就是笨驴拉磨,一圈一圈的走,知道达到条件终止。现在集中shell中的循环执行。存在两个模式:while do done、until do donefor do donewhile do done、until do done模式基本语法:##while do done 不满足条件时会终止循环while [ 条件表达式 ]do 条件满足时可执行的命令done##until do done 满足条件是会终止循环until [ 条件表达式 ]do 条件不满足... 阅读全文
posted @ 2013-03-25 23:14 jihite 阅读(9139) 评论(0) 推荐(1) 编辑
摘要: 我们知道程序无非三种执行方式——顺序、条件、循环。顺序就是一条一条的执行,是一马平川;条件就是个十字路口,根据条件决定自己的走向;循环就是笨驴拉磨,一圈一圈的走,知道达到条件终止。现在集中shell中的条件执行。存在两个模式:if...then...ficase...esacif...then...fi模式基本语法:if [ 条件表达式 ]; then 条件满足时可执行的命令fi例子:提示输入“Y"、“y"、“N"、“n".要是输入的“Y"或“y"则输出”Continue!";要是输入的“N"或“n"则输 阅读全文
posted @ 2013-03-25 22:16 jihite 阅读(1113) 评论(0) 推荐(0) 编辑
摘要: shell编程中有两种形式进行对判断条件进行测试:形式一:test形式二:[ ]举个小例子说明其用法及其注意事项:例子:判断文件 "new.txt" 是否存在,存在现实“exist', 不存在现实”not exitst"test -e new.txt && echo "exist" || echo "not exist" [ -e new.txt ] && echo "exist" || echo "not exist"执行结果: 实现细节说明: 阅读全文
posted @ 2013-03-25 21:15 jihite 阅读(2119) 评论(2) 推荐(0) 编辑
摘要: tr(translate的缩写)主要用于字符的删除与替换 语法:tr[-c/d/s/t] [SET1] [SET2] 参数:-c:(complement)用SET2中的字符替换SET1中没出现的字符 -d:(delete)删除SET1中的所有字符 -s:(sequence repreat)压缩SET 阅读全文
posted @ 2013-03-24 21:02 jihite 阅读(772) 评论(0) 推荐(0) 编辑
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 69 下一页