Day 17, Linux知识点走起~
1
编程题
【剑指Offer】丑数
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
思路: 首先简单说下质因数是什么,如果一个质数是某个数的约数,那么就说这个质数是这个数的质因数!而丑数的质因子只包括2、3和5。因此我们只需要使用2,3,5相互相乘,并且一个丑数必然是另外一个丑数乘以2或3或5得到的,但由于题目需要按从小到大排列,因此我们每次选择最小的丑数存入res中!最后返回res[N-1]是因为1是最小的丑数!
计算流程如下:(蓝色的为每次选择的丑数,最小)
2 * 1 3 * 1 5 * 1 2 * 2 3 * 1 5 * 1 2 * 2 3 * 2 5 * 1 2 * 3 3 * 2 5 * 1 2 * 3 3 * 2 5 * 2 2 * 4 3 * 3 5 * 2 2 * 5 3 * 3 5 * 2
class Solution {
public:
int GetUglyNumber_Solution(int index) {
if(index < ) return index;
vector<int> res(index);
res[] = ;
int t2 = , t3 = , t5 = ;
for(int i=;i < index; i++){
res[i] = min(min(res[t2]*, res[t3]*), res[t5]*);
if(res[i] == res[t2]*) t2++;
if(res[i] == res[t3]*) t3++;
if(res[i] == res[t5]*) t5++;
}
return res[index-1];
}
};
【剑指Offer】第一次只出现一个的字符
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).
思路: 使用一个hash_map用来储存每个字符的个数,只需要遍历一次,然后再遍历一次整个字符串的每个字母,从hash_map中获取对应字母的字数,如果为1,直接return。
class Solution {
public:
int FirstNotRepeatingChar(string str) {
if(str.length() == ) return -1;
unordered_map<char, int> hash_map;
for(int i = ;i < str.length(); i++){
hash_map[str[i]]++;
}
for(int i = ;i < str.length(); i++){
if(hash_map[str[i]] == ){
return i;
}
}
return -1;
}
};
2
概念题
【Linux】top命令常用操作
top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,默认5秒刷新一下进程列表.当输入top命令后会得到下图的界面:
进入top命令后,还可以使用常用交互命令来进行管理:
【Linux】linux哪些命令可以判断ip可达不可达?
ping: 检查自己主机与目标ip是否联通 tracert: tracert是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟! talent: 用于远端登入,执行telnet指令开启终端机阶段作业,并登入远端主机。
因此以上三个命令都可以判断ip可不可达!
【Linux】命令解释: more, less, cat命令
more 命令:可以让屏幕在显示满一屏幕时,此时可按空格健继续显示下一个画面,或按q 键停止显示。 less 命令:可以分页显示文件,和 more 命令的区别就在于它支持上下键卷动屏幕,当结束浏览时,只要在 less 命令的提示符":"下按 q 键即可。 cat 命令:主要有三大功能