計算陣列中不同的旋轉字串個數;旋轉字串定義為str1經右旋轉後可以得到str2,str1和str2即為相同的旋轉字串。
eg:picture和turepic即為相同旋轉字串
return3
.
分析最基本的思路:
1.迴圈判斷當前字串和前面的字串是否為旋轉字串;
2.如果是就刪除;
3.返回剩餘字串個數。
**如下:
public int countrotatewords(string strs)
else}}
return strlist.count;
}
下面是判斷是否是旋轉字串的方法:
public bool countrotatewordshelper(string str1, string str2)
按照自己的思路實現算發只能通過88%的測試資料,顯示memory limit exceeded,還是演算法的空間複雜度太大造成記憶體溢位
後來看了官方的思路
如下:
public int countrotatewords(string strs)
strlist.add(item); //保證去除重複過後必須保留乙個
}return strlist.count;
}
完美解決問題。。。。。**簡單易懂,不得不佩服!!! LintCode 單詞切分
給出乙個字串s和乙個詞典,判斷字串s是否可以被空格切分成乙個或多個出現在字典中的單詞。給出s lintcode dict lint code 返回 true 因為 lintcode 可以被空格切分成 lint code 動態規劃。第一種 dp i 表示前i個字元能否被切分。前i個字元能否被切分依賴於...
單詞搜尋 LintCode
給出乙個二維的字母板和乙個單詞,尋找字母板網格中是否存在這個單詞。單詞可以由按順序的相鄰單元的字母組成,其中相鄰單元指的是水平或者垂直方向相鄰。每個單元中的字母最多只能使用一次。樣例 給出board abce sfcs adee word abcced 返回 true,word see 返回 tru...
lintcode 最長單詞
引用塊內容 給乙個詞典,找出其中所有最長的單詞。在詞典 中,最長的單詞集合為 internationalization 在詞典 中,最長的單詞集合為 like love hate 挑戰 遍歷兩次的辦法很容易想到,如果只遍歷一次你有沒有什麼好辦法?只把最長的放在陣列中就行了 class solutio...