上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 69 下一页
摘要: 问题定义:有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 阅读(2962) 评论(13) 推荐(3) 编辑
摘要: 本文从三个层次分析最大公共子序列最大公共子序列长度最大公共子序列算法分析首先来个区别:单词"cnblogs"子序列:从单词中抽取字符,不能保证连续抽取。如”cn"、“cns"、”bgs"连续子序列:从单词中连续抽取字符。如“bolog"、”cnbl"最长公共子序列(LCS:Longest Common Subsequence)顾名思义,就是几个词语中最长的相同子序列。比如“cnblogs"和”belong"最大公共子序列是“blog" 最长公共子序列是个非常有用的算法,可以判断两段文字间的”雷同 阅读全文
posted @ 2013-03-31 21:24 jihite 阅读(4560) 评论(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 阅读(800) 评论(2) 推荐(0) 编辑
摘要: Linux做最突出的地方之一是它的多用户、多任务环境。这一点的最重要的出发点就是安全机制。先看下例:场景:公司里有两个项目组:小组A和小组B。为了保密起见,小组内的进度、文档、程序都有小组内公开。比如小组A中,小组内的成员可以相互查看彼此的文件,但是小组内成 员都有自己的抽屉,里面有自己的隐私文件,不允许是看不了的(抽屉锁着)。小组B里的人相对于小组A来说是其他人。如果没进过小组成员的同意,是看不到A、B或C的资料的。这里边有个执掌大权的boss,他拥有无所不能的权利(包括查看用户的抽屉)。这就是Linux用户及用户组的现实写照。用户:A、B、C、甲、乙都是用户,就是主体用户组:有一个或多个用 阅读全文
posted @ 2013-03-26 23:56 jihite 阅读(2209) 评论(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 阅读(8971) 评论(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 阅读(1105) 评论(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 阅读(2117) 评论(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 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 打开终端 Ctrl + Alt + T关闭终端 Ctrl + Shift + Q终止命令 Ctrl + c暂停屏幕输出 Ctrl + s继续屏幕输出 Ctrl + q在提示符下删除整个命令行 Ctrl + U 阅读全文
posted @ 2013-03-22 17:39 jihite 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1.命令提示符格式只是个别用户该在“~/.profile”文件里改,要是所有用户都改在“/etc/profile”文件里改。在文件最下一行加入: export PS1='[\u@\h \W]\$'其中: \u显示当前用户账号 \h显示当前主机名 \W显示当前路径(大写为相对路径、小写为绝对路径) \$显示"$"符号 当然为了生效:source profile可以根据自己喜好删减。 更详尽解释见:http://blog.csdn.net/humorrat/article/details/5615167(注意"\"而非"/" 阅读全文
posted @ 2013-03-21 21:10 jihite 阅读(303) 评论(0) 推荐(0) 编辑
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 69 下一页