Algorithm:
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其
长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b"
,所以其长度为 1。
示例 3:
输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是"wke"
,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"
是一个子序列,不是子串。
解:
/*
该代码在leecode验证通过
*/
int check_str(char *str, int strlen, int *end){
//printf("%.*s %d\n", strlen,str, strlen);
int start = 0,nextstart = 0;
for(start = 0; start < strlen;start++){
for(nextstart = start+1; nextstart < strlen;nextstart++){
if(str[start] == str[nextstart]){
return 1;
}
}
}
if(*end < strlen)
{
*end = strlen;
}
return 0;
}
int lengthOfLongestSubstring(char* s) {
int i = 0,j = 0,k = 0;
int length = strlen(s);
int end = length > 0?1:0;
for(i = 0; i< length;i ++)
{
for(j = i; j< length;j ++)
{
int plus = 0;
plus = j+1-i;
if(plus <= end){
continue;
}
if( check_str(&s[i], plus, &end) && (plus > end)){
break;
}
}
}
return end;
}
Review:
AWK 入门教程:http://www.ruanyifeng.com/blog/2018/11/awk.html
同样可看菜鸟教程的入门,进行日志分析时候,awk,grep、sort、等联合使用非常常见;
Tips :
对tcpdump 命令常用的选项进行回顾:
-D 展示所有设备;
-i any 抓取所有网卡数据包;
-s 设定抓取数据包长度; -s 0设定为不限制长度;
-w filename 设定抓取数据包的名字;
-C /-c 设置写pcap包的大小和数量
-r 从pcap文件获取数据;
-v -vv -vvv之类显示数据包的详细信息,v数量越多,显示信息越多;
-n -nn 不做发现解析,比如把端口转化成服务,把IP转化成域名等;提高展示速度;
选择协议、tcp、udp、ip、port、src、dst,host分成三种去记忆,协议类,方向类,关键词;
重点可以看下相关的tcpreply,tcprewrite等命令在网络数据包的回放,重写等方面有很大的作用;可以改变数据包中的流信息,创造出合适的数据包供我们测试时使用;
Share: