设置头尾两个指针,依靠中间变量temp交换头尾指针所指元素,头指针后移,尾指针前移,直到头尾指针重合或者头指针在尾指针后面一个元素 class Solution(object):def reverseString(self, s):""":type s: List[str]:rtype: None Do not return anything, modify s in-place instea
比赛链接 这场偏简单,C是暴力,D是变种背包,E是map+链表,F是四维dp。DF出的很好,建议做。 A Spoiler 题意: 给你一个由小写英文字母和 | 组成的字符串 S S S。 S S S 中保证包含两个 |。 请删除两个|之间的字符,包括|本身,并打印得到的字符串。 思路: 用 string 的 find_first_of() 和 find_last_of() 成员
C. Report 注意到每次排序的区间都是某个前缀,如果先排序了短前缀,再排序长前缀,前面的那次排序可以不用做。所以单调栈维护递减序列,排序一次最长前缀,然后逐个视情况(升序还是降序)输出。 #include <bits/stdc++.h>#include <unordered_map> using namespace std;#define ll long longint a[20001