国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我的面試準備過程---字符串相關(更新中)

周國輝 / 2178人閱讀

摘要:字符串簡介內置類型,不可理性,要更改的話考慮轉,之類對來說,一個的范圍,位面試題總體分析和數組相關,內容廣泛概念理解字典序,哪個排在字典前面,哪個字典序就小簡單操作插入刪除字符,旋轉規則判斷羅馬數字轉換,是否是合法的整數浮點數數字運算套數加

字符串簡介

String 內置類型,不可理性,要更改的話考慮轉StringBuffer,StringBuilder,char[]之類

對java來說,一個char的范圍 [0,65535],16位

面試題總體分析

和數組相關,內容廣泛

概念理解:字典序,哪個排在字典前面,哪個字典序就小

簡單操作: 插入、刪除字符,旋轉

規則判斷 羅馬數字轉換,是否是合法的整數、浮點數

數字運算(套數加法、二進制加法)

排序、交換(partition過程)

字符計數(hash): 變位詞

匹配(正則表達式、全串匹配、KMP、周期判斷)

動態規劃(LCS、編輯距離、最長回文子串)

搜索(單詞變換、排列組合)

例1 把一個0-1串進行排序,可以交換任意兩個位置,問最少交換的次數

思路:快排partition 最左邊0和最右邊的1都可以不管

    public int exchangeTimes(String s){
        int answer = 0;
        for(int i = 0, j = s.length() - 1; i < j; i++, j--){
            for(; i < j && s.charAt(i) == "0"; i++);
            for(; i < j && s.charAt(j) == "1"; j--);
            if(i < j) answer++;
        }
        return answer;
    }
例2 刪除一個字符串所有的a,并且復制所有的b.注:字符數組足夠大
    public void solve(char[] chars){
        //先刪除a,可以利用原來字符串的空間,過程類似插入排序
        int n = 0;//刪除a后的字符數組長度
        int bCount = 0;
        for(int i = 0; s[i] != "