期中顏色不同的,是刷題中遇到問題的,之後須要強化數組
中間因我的緣由沒作題,後面慢慢補上code
if(l >= r) return ; int i = l, j = r; int tmp = v[i]; while(i < j) { while(i < j && v[j] >= tmp) j--; while(i < j && v[i] <= tmp) i++; if(i < j) swap(v[i], v[j]); } swap(v[l], v[i]);
pop正好是和比較是反着的排序
struct cmp{ bool operator ()(const pair<int,pair<int,int>> &a, const pair<int,pair<int,int>> &b) { return a.first > b.first; } };
next[0] = -1; for(int i=1; i<len; i++) { int j = next[i-1]; while(j != -1 && s[j+1] != s[i]) j = next[j]; if(s[j+1] == s[i]) next[i] = j+1; else next[i] = -1; }