规划
算法 1hLinuxc++ 2h网络 1h
英语 1h
c++职位/面经 1h
项目文件 1h
实际
起床:9:00
10:00-12:00学习
15:30-17:30学习
21:00-22:10学习
共5.10个小时
知识点
算法学习
动态规划
动态规划,c++,思路分析
class Solution {
public:
// 状态转移方程:
// bool dp[i]; 从i下标到尾部的字符串切片 是否满足条件
// for(string &str:wordDict ){
// if(str==s.str(start,str.len) && dp[i+str.len]==1){
// dp[i]=1;
// }else[
// dp[i]=1;
// ]
// }
// 求 dp[0]?
// 初始状态dp[s.len]=1,毕竟空串必定满足条件
// 状态转移方程: dp[i]=(str==s.str(start,str.len) && dp[i+str.len]==1)
vector<int> dp;// -1未计算 0 1
bool dpfun(const string &s,int start,const vector<string>& wordDict){
if(start==s.size()){
return true;
}
if(dp[start]!=-1){// 已经计算过的,直接返回结果,避免重复计算
return dp[start]?true:false;
}
for(auto &str:wordDict){
if(start+str.size()>s.size())
continue;
string s_tmp=s.substr(start,str.size());// 判断从start开始的这一段是否与str相等
if(s_tmp!=str)
continue;
if(dpfun(s,start+str.size(),wordDict)){// 满足
dp[start]=1;
return true;
}
}
dp[start]=0;
return false;
}
bool wordBreak(string s, vector<string>& wordDict) {
dp=vector<int>(s.size(),-1);
return dpfun(s,0,wordDict);
}
};
Linux学习
shell 相关
shell 怎么找命令?
$PATH的系统变量包含的目录中找,$PATH不是$path
linux系统结构
常用的shell
Linux目录结构
/bin
放系统命令的2进制文件
/sbin
super用户常用命令的2进制文件
/dev
硬盘、显卡、显示器、鼠标、其他
字符设备文件(鼠标、键盘)
块设备文件
例子:sudo cat /dev/input/mouse0 查看鼠标的文件
/lib
linux 运行的时候需要加载的一些动态库
/mnt: 手动的挂载目录, 如 U 盘等
/media: 外设的自动挂载目录, 如光驱等。
/root: linux 的超级用户 root 的家目录
/usr: unix system resource--类似于 WINDOWS 的 programe files 目录
include 目录里存放头文件, 如: stdio.h、stdlib.h、string.h、pthread.h
games 目录下的小游戏-如: sl 小火车游戏
/etc: 存放配置文件
/etc/passwd ◆ man 5 passwd 可以查看 passwd 文件的格式信息
/etc/group ◆ man 5 group 可以查看 group 文件的格式信息
/etc/profile ◆ 系统的配置文件, 修改该文件会影响这个系统下面的所有的用户
/opt: 安装第三方应用程序
比如安装 oracle 数据库可以在这个目录下
/home: linux 操作系统所有用户的家目录
用户家目录:(宿主目录或者主目录) ◆ /home/itcast
/tmp: 存放临时文件
◼ 新建在这个目录下的文件会在系统重启后自动清除
username@ComputerName
主机名:cat /etc/hosts
ls命令
-l:列出文件的详细信息, 7 部分内容
◆ 文件类型 (第 1 个字符)
➢ - : 普通文件
➢ d : 目录
➢ l : 符号链接,相当于 windows 中的快捷方式
➢ s : 套接字
➢ p : 管道
➢ b : 块设备
➢ c : 字符设备
◆ 权限 (后面的字符)
文件所有人的权限
文件所有人的组的权限
其他人的权限
◆ 后面的数字
目录:该目录有几个目录(包含的 .和 ..)
文件:该文件的硬链接数
◆ ls -la : 列出当前目录下所有文件的相信信息, 包括隐藏文件
◆ ls -ltr: 列出当前目录下的文件, 按照时间逆向排序
cd -:返回切换前的目录
tail -f a.log
实时监控 a.log的变化
>和 >> 的功能
echo "sb" > b.log 覆盖
echo "sb" >> b.log 追加
硬链接和软链接
stat命令
高级查找
◼ 例:查找指定目录下所有目录,并列出目录中文件详细信息
◆ find ./ -type d -exec shell 命令 {} \;
find ./ -type d -exec ls -l {} \;
◆ find ./ -type d -ok shell 命令 {} \;
find ./ -type d -ok ls -l {} \;
◼ 注意: {}中间不能有空格
◼ ok 比较安全, 特别是在执行 rm 删除文件的时候.
◆ find ./ -type d | xargs shell 命令
find ./ -type d | xargs ls -l