- 博客(48)
- 资源 (3)
- 收藏
- 关注
原创 Shell(7) read输入
Shell(7) read输入read指定的变量,赋予直至回车之前的所有内容: readnamehelloiamsupermanreadnamehelloiamsuperman read name hello i am superman echo $name hello i am supermanread可以赋予多个变量: readnamesurnamejohndoerea...
2018-08-23 17:52:31
373
原创 Shell(6) echo输出
Shell(6) echo输出使用echo命令可以显示文本行或变量,或者把字符串输入到文件。它的一般形式为: echo string echo命令有很多功能,其中最常用的是下面几个: \c 不换行。 \f 进纸。 \t 跳格。 \n 换行。如果希望提示符出现在输出的字符串之后: echo “what is your name :\c” read namelinux系统,...
2018-08-23 17:51:59
729
原创 Shell(5) ps命令查看进程
Shell(5) ps命令查看进程按照进程号,使用ps命令和grep命令列出这个进程: ps x|grep 28305如果不支持ps x命令,可以使用: ps -ef|grep 28305
2018-08-23 17:51:25
875
原创 Shell(4) 后台执行命令at
Shell(4) 后台执行命令atat命令的基本形式为: at [-f script] [-m -l -r] [time] [date]其中 -f script 是所要提交的脚本或命令。 -l 列出当前所有等待运行的作业。atq命令具有相同的作用。 -r 清除作业。为了清除某个作业,还要提供相应的作业标识(ID);有些UNIX变体只接受atrm作为清除命令。 -m 作业完成后给用...
2018-08-23 17:50:38
1835
原创 Shell(3) 后台执行命令corntab
Shell(3) 后台执行命令corntabcrontab格式: 分< >时< >日< >月< >星期< >要运行的命令0,30 18-23 * * * /apps/bin/dbcheck.sh 上面的例子表示在每天18:00至23:00之间每隔3 0分钟运行/apps/bin目录下的dbcheck.sh。crontab命...
2018-08-23 17:49:54
363
原创 Shell(2) find命令
Shell(2) find命令Find命令的一般形式为: find pathname -options [-print -exec -ok]pathname 查找的目录路径 -options 查找条件,在下文中详细介绍 -print 输出到标准输出 -exec 匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’{} \;,注意{ }和\;之间的空格。 ...
2018-08-23 17:48:59
243
原创 Shell(1) 文件安全与权限
Shell(1) 文件安全与权限文件类型:d 目录。 l 符号链接(指向另一个文件)。 s 套接字文件。 b 块设备文件。 c 字符设备文件。 p 命名管道文件。 - 普通文件,或者更准确地说,不属于以上几种类型的文件。在每一组字符中含有三个权限位:r 读权限 w 写/更改权限 x 执行该脚本或程序的权限chmod命令的一般格式为: chmod [who] o...
2018-08-23 17:47:50
273
原创 Lucene 在Ubuntu+Python2的环境下进行搜索
Lucene 在Ubuntu+Python2的环境下进行搜索IndexFiles.py:import sys, os, lucene, threading, time, tracebackfrom datetime import datetimefrom java.io import Filefrom org.apache.lucene.analysis.miscellaneous impor
2017-07-03 13:55:57
762
原创 Ubuntu Server 16.04 numpy报错
Ubuntu Server 16.04 numpy报错今天重新安装了一次Keras,出现了一点问题:Traceback (most recent call last):File "/usr/lib/python2.7/dist-packages/nose/loader.py", line 418, in loadTestsFromNameaddr.filename, addr.mo
2017-07-02 23:40:45
902
原创 Ubuntu 安装pyluence
Ubuntu 安装pyluence最近在使用nltk做项目,由于需要luence做索引查找,而且又要用python环境,所以打算直接一起弄,不但弄一个java环境的luence了,下面是安装记录:首先安装jdk和ant:sudo apt-get install openjdk-8-jdksudo apt-get install ant然后是安装setuptools,首先下载whl文件,https
2017-06-23 14:07:02
570
原创 Ubuntu 16.04 安装nltk
Ubuntu 16.04 安装nltknltk是非常好用的python自然语言处理的工具,安装nltk只需要安装命令安装就可以:sudo -H pip install -U nltk安装之后可以通过python里直接import nltk看看是否能用,一般都是可以引用了,不会出什么问题的。安装了nltk但是需要部分语料数据,正常可以通过在python里import nltk之后,nltk.down
2017-06-22 14:11:44
2142
原创 LeetCode (35)Search Insert Position
(35)Search Insert Position题目:在一个排好序的数组里,找目标数字位置,如果找到目标数字就返回下标,找不到数字就返回它应该插在的位置下标。例子:序列: 目标数字: 返回值:[1, 3, 5, 6] 5 2[1, 3, 5, 6]
2017-06-22 13:39:51
252
原创 LeetCode (34)Search for a Range
(34)Search for a Range题目:给定升序排序的整数数组,找到给定目标值的起始和终止位置,算法运行时间复杂度必须为O(logn)的时间复杂度,如果在数组中找不到目标,则返回[-1, -1]。例如:给定数组为[5, 7, 7, 8, 8, 10]和目标值8,返回[3, 4]。根据这道题的思路,最开始打算找整个目标数组的位置,这让就能得到整个数组的首尾,但是后来发现两端的处理并不是很
2017-06-21 10:58:38
227
原创 Ubuntu Server 16.04 配置Keras
Ubuntu Server 16.04 配置Keras首先配置python环境sudo apt-get install python-dev python-pip然后选择y使得继续安装,然后可以通过python测试是否安装成功。对于Keras的首页上来说,安装顺序第一个是要安装numpy和scipy,但是这两个还需要引用一些包,首先是blas,然后是lapack和atlas,所以要先安装这几个,然
2017-06-13 18:22:33
580
原创 Ubuntu Server 16.04 通过win10 SSH远程控制
Ubuntu Server 16.04 通过win10 SSH远程控制在server上下载openssh-server:sudo apt-get install openssh-server然后通过ps -e |grep ssh命令查看ubuntu是否开启了SSH功能。如果显示了sshd有端口的话,就是正常了,否则可以使用命令sudo /etc/init.d/ssh start打
2017-06-08 16:13:21
836
原创 Ubuntu Server 16.04 配置静态IP
Ubuntu Server 16.04 配置静态IP设置静态IP我喜欢通过修改etc/network/interfaces.d/*的方式,在这里做一个备注方便以后自己查看,也方便其他初学者共享。首先执行命令sudo vi /etc/network/interfaces,然后出现很多代码如下图:“iface enp0s31f6 inet dhcp”意味着自动分配IP,将dhcp改成static后,就可
2017-06-08 16:09:53
1509
1
原创 LeetCode (33)Search in Rotated Sorted Array
(33)Search in Rotated Sorted Array题目:数组是一个排好序的循环数组,但是头不一定是哪个位置开始的,就比如排好序的数组是“ 1 2 3 4 5 6 7 8 ”,由于是循环的,所以可能给你的顺序是“ 7 8 1 2 3 4 5 6 ”,也可能是“ 4 5 6 7 8 1 2 3 ”,请在这个数组中找到目标数字,返回下标,如果没有则返回“-1”。例如: 输入数组为“ 4
2017-06-06 11:22:20
206
原创 遗传算法解决八数码难题
遗传算法解决八数码难题八数码难题是将一个数组序列通过3x3格式的拼图方式,经过多次滑动转换变成序列为“123804765”的序列。目标序列如图所示:1 2 38 0 47 6 5本博客使用了基因遗传算法,通过基因序列完成变换完成实验。以下将通过知识表示形式,搜索策略,搜索效率和完备性进行说明。1.知识表示形式在基因遗传算法中,基因是每次变化的方式,由于变换的方式只有上,下,左,右四
2017-06-06 09:31:36
2243
1
原创 LeetCode (31)Next Permutation
(31)Next Permutation题目:找到比目标数大的,只使用目标数内数字组成的最小的数。如果这种安排是不可能的,它必须重新安排它作为最低可能的顺序(即按升序排序)。更换必须到位,不要分配额外内存。例如:1,2,3 -> 1,3,23,2,1 -> 1,2,31,1,5 -> 1,5,1自己推算几次,找几个例子,就能有一个比较好的想法了。首先对于比这个数大的最小数,那么就是从最后位开始
2017-05-19 16:51:26
414
原创 LeetCode (29)Divide Two Integers
(29)Divide Two Integers题目:不用除法计算一个数与另一个数的商。另外:当结果溢出int范围的时候,输出int范围最大的数字。例如:输入:dividend:-10;divisor:-1;输出:10。输入:dividend:-2147483648;divisor:1;输出:-2147483648。本来题目还是挺简单的,但是就这个int范围搞得有点烦。除法就是减法的简单方法,然
2017-05-15 20:34:31
186
原创 LeetCode (28)Implement strStr()
(28)Implement strStr()题目:返回字符串里子字符串的位置,如果没有则返回-1。例子:haystack="abcd",needle="cd",返回2。haystack="abcd",needle="e",返回-1。根据这道题我的想法就是搜一遍,当然在第一次搜索的时候,产生一次TLE,原因就是循环中次数的限制没有做对,由于在第一个字符串中找子字符串,所以如果此时搜索的位置后面的长
2017-05-15 14:23:55
225
原创 LeetCode (27)Remove Element
(27)Remove Element题目:将所给数组内的等于某个数的元素去掉,返回心数组长度。例如:所给数组为nums = [3, 2, 2, 3],要去掉的数字为val = 3,返回数组为nums_new = [2, 2],长度为2。另外:不要开新的内存,只能使用现有开辟的内存。元素的顺序可以改变。数组新长度外留下什么都没关系。跟上一道题很像,基本就是一次面试里一个问题的进阶版,跟上一道题的思路相
2017-05-11 15:14:22
210
原创 LeetCode (26)Remove Duplicates from Sorted Array
(26)Remove Duplicates from Sorted Array题目:把所给排好序的数组剔除重复数据,返回新数组的长度。例如:所给数组为nums = [1, 1, 2],返回的新数组为nums_new = [1, 2],长度为2。另外:不能使用其他数组,只能使用当前开辟的内存。O(n)的算法就可以解决问题,但是刚开始以为只是返回长度就可以,所以搜了一遍没有重复数字的数组长度,但是后台会
2017-05-11 14:59:44
201
原创 LeetCode (24)Swap Nodes in Pairs
(24)Swap Nodes in Pairs题目:将一个链表的每两个相邻链节做交换,输出交换后的链表。例如:链表为1->2->3->4,那么返回的链表是2->1->4->3。另外:不能开额外的链表空间。根据题目直接从前到后扫一遍就可以了,的确是很简单的一道题,但是有几点需要特殊注意,首先就是0长度的链表,然后就是奇数长度和偶数长度的链表,这个时候只要加一个对链节的判断就可以了。下面是代码:clas
2017-05-11 14:38:37
188
原创 LeetCode (22)Generate Parentheses
(22)Generate Parentheses题目:写出所有n对“(”,“)”能组合成的符合正常规则的字符串。例如:当n=“3”的时候,答案集为:[ "((()))" "(()())" "(())()" "()(())" "()()()"]第一个想法就是直接DFS,很简单的搜一遍就完事了,把所有的可能放入vector里。当然符合规则是最重要的问题,不妨考
2017-05-10 19:14:52
219
原创 LeetCode (21)Merge Two Sorted Lists
(21)Merge Two Sorted Lists题目:将两个排好序的链表合并成一个排好序的链表,不允许开额外的空间。例子:所给链表为l1 = 1->2->3,l2 = 2。返回链表为result = 1->2->2->3。根据题目就是简单的插入而已,在整个过程中将小的数字插在前面,大的数字放在后面就可以了。只不过用到的是链表,不是数组,所以整个过程中考虑的东西比较复杂,也是这道easy的题目
2017-04-26 11:44:20
221
原创 LeetCode (20)Valid Parentheses
(20)Valid Parentheses题目:判断一个字符串是否符合括号使用规则,字符串里有”()”,”[]”,”{}”三种。例子:”()”和”({}[])”都是正确的,但是”([)”,”({)[}]”都是错误的。想过之后,觉得直接用栈就可以实现整个字符串的查找,从头搜索,如果搜到的符号是左符号,那么就压入栈中,如果是右符号,那么如果栈是空,那么就直接返回错误,如果不是的话,栈顶必须是次符号的左符
2017-04-25 15:45:52
215
原创 LeetCode (19)Remove Nth Node From End of List
(19)Remove Nth Node From End of List题目:将一个链表的倒数第N个链节去掉。例子:所给的链表是: 1->2->3->4->5,同时 n = 2。移除链节之后,链表为: 1->2->3->5。根据题目,想到的就是通过从前向后计算链表长度然后去掉第len - n个链节就可以了。我觉得可能会有更好的算法,就看了一下几个博客,使用的方法是将两个指针中间间隔n个,一起向后
2017-04-24 18:29:53
178
原创 LeetCode (18)4Sum
(18)4Sum题目:在所给的数组中,寻找符合四个数和等于目标数的组合,返回所有组合。例子:所给数组为 S=[1, 0, -1, 0, -2, 2],同时目标数为target = 0。返回的集合为:[ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2]]这道题是属于3Sum的变形,这种情况下,同样适用3Sum的方法就可以了,我看很
2017-04-24 17:08:14
218
原创 LeetCode (17)Letter Combinations of a Phone Number
(17)Letter Combinations of a Phone Number题目:通过所给字符串,返回按下数字可能返回的字符串组合,数字和字符的关系如同手机键盘一样。例子:输入:字符串为“23”。输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。首先想到的就是队列,不停地通过队列的每一组字符串相加获得下一组字符串,然后再把下
2017-04-24 16:21:10
263
原创 LeetCode (16)3Sum Closest
(16)3Sum Closest题目:在一个数组里找到和目标结果最为接近的三个数字的和,返回此和数。例子:所给数组为 S = {-1,2,1,-4},同时目标结果target = 1。数组中最接近目标结果的三个数字之和为2。(-1 + 2 + 1 = 2)。根据题目的特点,尤其是有第15题的铺垫,整个题目就相当于把和数等于0改成可变的和数的情况,同时使用std::min,和std::abs的方法
2017-04-24 14:34:41
275
原创 LeetCode (15)3Sum
(15)3Sum题目:在一个数组里面找到三个数字和等于0,输出所有的可能性,不要存在重复的组。例子:提供的数组:s=[-1, 0, 1, 2, -1, -4],返回的结果应该是:[ [-1, 0, 1], [-1, -1, 2]]。这道题本来想按原来两个数相加的那个来算,引用map,但是后来发现无法获取是否前面已经输出同样的结果,所以就很麻烦,或许有解决方法,但是暂时觉得可能会兜圈子,不如直接使用简
2017-04-21 11:17:49
198
原创 LeetCode (14)Longest Common Prefix
(14)Longest Common Prefix题目:在多个字符串中找到最长公共子前缀。想到的方法也就几种,一种是暴力的去每两个去找一遍,两层循环,但是再思考一下,这种方法太原始了是不是,我们可以直接通过一个字符串去对比其他的字符串,直接找到那个最长的就好了,这样的话就只需要一层循环,找到最长的前缀。下面是代码:class Solution {public: string longest
2017-04-20 14:23:25
188
原创 LeetCode (13)Roman to Integer
(13)Roman to Integer题目:将一个罗马字符串转换成整数,范围在1~3999。根据上一道题,如果从罗马数字转换成整数,直接从头搜索就好了,需要遵循的规则只有一条。当我们遇到”M”直接加1000,遇到”D”直接加500,遇到”C”的时候判断下一个字符是否是”M”或者”D”,如果是则减去100,否则加100,”X”也是如此,以此类推,就可以获得一个扫描之后的数字,直接返回就可以了。代码如
2017-04-19 20:04:09
231
原创 LeetCode (12)Integer to Roman
(12)Integer to Roman题目:将一个整数转换成罗马数字,范围在1~3999。很简单很暴力,只需要知道罗马数字的表示方法就可以了。罗马数字表示:1~9:I,II,III,IV,V,VI,VII,VIII,IX,X;10,20~90:X,XX,XXX,XL,L,LX,LXX,LXXX,XC;100,200~900:C,CC,CCC,CD,D,DC,DCC,DCCC,CM;1000,
2017-04-19 15:55:47
190
原创 LeetCode (11)Container With Most Water
(11)Container With Most Water题目:提供一个长度为N的非负整数串a1,a2,a3,a4……ai,每一个点代表一个垂直x轴的从(i,0)到(i,ai)的线段,求两个这样的线段和x轴包围的容器可以储存的最大水量。所谓短板效应就是桶里能装的最多水量是取决于最短那个板子的,当选择容器的时候,我们不需要两层循环把所有的问题都理一遍,所以我从最外面的两个开始,从最短的那边开始向内部移
2017-04-19 14:42:35
182
原创 LeetCode (10)Regular Expression Matching
(10)Regular Expression Matching题目:实现正则表达式匹配,支持“.”和“*”。‘.’:匹配任何单个字符。 ‘*’:匹配0个或多个前一个声明的字符。匹配需要匹配整个字符串。例如:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "a*
2017-04-19 14:34:25
417
原创 LeetCode (9)Palindrome Number
(9)Palindrome Number题目:判断一个整数是否是回文数字,不要开额外的空间。由于前面做的几道题的思维惯性,如果将第一个数字直接模10,加到第二个整数上,然后对这个整数乘10再加刚才数字除以10后的数字再模10,再加到第二个整数上,如此循环,就相当于把数字倒了过来,在判断两个数字是否相同即可,另外,负数不是回文数字,下面是代码:class Solution {public:
2017-04-19 13:22:14
206
原创 LeetCode (8)String to Integer(atoi)
(8)String to Integer(atoi)题目:将一个字符串变换成为int整数。提示:仔细考虑各种可能的输入情况。看到这道题只想到了几种可能性,首先是首位有空格的,可能带加号表示正数的,可能超出int范围的,结果写出代码之后,测试用例又曝出有各种问题的字符串,这道题不难,就是难以抓住所有的情况,如果想要挑战的话,其实可以自己多提交几次,就会慢慢改出来了,这里我也写下自己碰到的几个发现的问题
2017-04-19 11:46:40
178
原创 LeetCode (7)Reverse Integer
(7)Reverse Integer题目:把数字倒过来。例子:x = 123, return 321。再例:x = -123, return -321。另:输入是32位有符号整数,当超出范围的时候,输出0。根据这个题目,想到的就是字符串,直接使用字符串处理就可以反过来输出。但是通过另外的最后一句话,我们不难发现,数字的范围仅在-2^31~2^31之间,那么需要处理的就只有0,数字超过10位或在等于十
2017-04-18 23:07:00
180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人