classSolution{public:
string reverseOnlyLetters(string s){//快排hoare法单趟
string ret(s);int left =0;int right = ret.size()-1;while(left < right){while(left < right &&!isalpha(ret[right])){
right--;}while(left < right &&!isalpha(ret[left])){
left++;}swap(ret[left], ret[right]);
left++;
right--;}return ret;}};
3. 字符串中唯一字母
题目信息:
题目连接: 字符串中唯一字母
思路:暴力求解
classSolution{public:intfirstUniqChar(string s){for(int i =0; i < s.size(); i++){int flag =1;//暴力查找for(int k =0; k < s.size();){if(k == i){
k++;continue;}//漏掉前面的字符if(s[i]== s[k]){
flag =0;break;}
k++;}//找到存在唯一字符if(flag){return i;}}return-1;}};
4. 字符串中最后一个单词
题目信息:
题目链接: 字符串最后一个单词的长度
intmain(){
string str;//遇到' '字符不停读取,一次读取一行getline(cin, str);int cur = str.length()-1;int i =0;while(str[cur]!=' '&& cur >=0){
cur--;
i++;}
cout << i;return0;}
classSolution{public:
string reverseStr(string s,int k){
string rs(s);int len = rs.length();for(int i =0; i < len; i +=2* k){reverse(rs.begin()+ i, rs.begin()+min(i + k, len));}return rs;}};
7. 反转字符串中的单词
题目信息:
题目链接: 反转字符串中的单词
classSolution{public:
string reverseWords(string s){
string rs(s);int n = rs.length();int count =0;for(int i =0; i < n; i++){if(rs[i]==' '){reverse(rs.begin()+ count, rs.begin()+ i);
count = i +1;}if(i == n -1){reverse(rs.begin()+ count, rs.end());}}return rs;}};
窗口函数 通用格式 “函数 OVER (PARTITION BY 分组 ORDER BY 排序依据 升降序)”。 这里记录下OVER() 以及搭配LEAD/LAG函数的使用方法(执行平台Impala) 目录 OVER函数1、不加条件的OVER函数——得到所有的汇总结果2、仅有排序的OVER函数——得到按顺序…