打卡ARTS-2

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:

软件开发就像长跑,最佳状态要留给最重要的比赛

你可能感兴趣的:(打卡)