Leetcode
easy
python
c++
string
Top 100 Liked Questions
Learn More →
此題為判斷字串S,是否能由比他小的子字串構成
對於字串須知:
此題想法為:
class Solution(object):
def repeatedSubstringPattern(self, s):
"""
:type s: str
:rtype: bool
"""
#字串*n= (字串)(字串)....n個
#abc*3=abcabcabc
n=len(s)
for i in range(1, n//2+1):#subStr長度為1至s的一半
if n%i==0: #是倍數
subStr=s[:i]
if subStr*(n//i) == s:
return True
return False
class Solution {
public:
bool repeatedSubstringPattern(string s) {
int n=s.size();
for (int i=1; i<=n/2; i++){
if (n%i==0){
string subStr= "";
//重複次數
int time=n/i;
for (int j=0; j<time; j++){
subStr += s.substr(0,i); //從頭數i個
}
if (subStr==s) return true;
}
}
return false;
}
};
[題目連結:] https://leetcode.com/problems/koko-eating-bananas/ 題目: 解題想法: 此題為有n串香蕉,第i串有piles[i]根香蕉守衛h小時回來 設一小時能吃k根香蕉吃完第i串後無法再同一小時內吃另外第j串 若第i串有x根香蕉,且x<k,則依舊需要等該小時過完,才能繼續下一串,意思為: 若有餘數需無條件進位1小時 求k使得能以最慢速度吃完所有香蕉
Mar 30, 2023[題目連結:] https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/description/ 題目: 解題想法: 此題為給一target目標節點,返回所有跟target相距k步的節點各點值皆不重複 可往上拜訪父點,也可往下拜訪子點 DFS+BFS拜訪 所需工具:dic= collections.defaultdict(list){key:某點的值 ; value:與他相連的所有鄰居的值}
Mar 29, 2023[題目連結:] https://leetcode.com/problems/range-sum-query-immutable/description/ 題目: 解題想法: 此題為設計實做一個NumArray類別,使用sumRange(i, j) 時要能夠回傳[i, j]範圍內的和 prefix sum前綴和想法self.nums紀錄原本的數組 self.sumArray紀錄從頭到nums[i]的和 最終 self.sumArray[right]-self.sumArray[left]+self.nums[left]即為解 ex: nums =[-2, 0, 3, -5, 2, -1]
Mar 29, 2023[題目連結:] https://leetcode.com/problems/nim-game/description/ 題目: 解題想法: 此題目為給n個石頭,你與對手每次可以拿走1~3顆最先拿完的人獲勝 你先開始拿 判斷是否你能獲勝 基本的if else判斷是否為4的倍數即可
Mar 29, 2023or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up