打卡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:

軟件開發就像長跑,最佳狀態要留給最重要的比賽

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章