vector<int> cnt(26);
n=s1.length();
for(int i=0;i<n;i++){
++cnt[s1[i]-'a'];
}
s1是字符數組,s1[i]-'a'是為了將a變成0,b變成1,c變成2.
cnt用於統計每個字母在s1中出現的次數。
++cnt[s1[i]-'a'] s1[i]是一個字符,遞增與該字符對應的計數器的個數。
void rotate(vector<int>& nums, int k) {
int n=nums.size();
k%=nums.size();
vector<int> ans(n);
for(int i=0;i<n;i++){
int pos=(i+k)%n;
ans[pos]=nums[i];
}
nums.assign(ans.begin(), ans.end());
}
c++中assign函數能實現不同容器相同數據類型之間的賦值。
int m = (l + r) >> 1; 意思是(l+r)/2向下取整
if else if 和if if的區別
在if-else if分支結構中,如果前面有一個條件成立,則下面的分支結構將不會不會被執行;而if-if分支結構則不然——只要條件成立就會執行。
