题目链接 解题思路:使用首尾指针。比较数组两侧的值,以数值较小的一侧的高度作为当前位置(L或R)两侧的堤坝,从而计算出当前位置的雨水量(因为雨水量的瓶颈是较低一侧的高度),并且更新首尾指针路过数字的最大值。然后历史最大值较小的一侧的指针向数组中心移动,直到首尾指针相遇。 C++: int Water Read More
posted @ 2021-03-30 17:40 洗盏更酌 Views(53) Comments(0) Diggs(0) Edit
题目链接 解题思路:一次计算以1,2,3,4,5,6,7,8,9,10,11,12......为前缀的,不超过上界n的数字个数,对数字总数进行累加,累加的和为k时,将此时前缀的下一个数字prefix+1返回,即为字典序的第K小数字。 C++: #include <iostream> using na Read More
posted @ 2021-03-30 17:16 洗盏更酌 Views(72) Comments(0) Diggs(0) Edit
题目链接 解题思路:一维动态规划方法 C++: #include <iostream> using namespace std; string LongestPalindrome(string& s) { int n = s.length(); if (n <= 0) return s; int m Read More
posted @ 2021-03-30 15:21 洗盏更酌 Views(57) Comments(0) Diggs(0) Edit
题目链接 解题思路:滑动窗口 C++: class Solution { public: int lengthOfLongestSubstring(string s) { // 哈希集合,记录每个字符是否出现过 unordered_set<char> occ; int n = s.size(); / Read More
posted @ 2021-03-30 12:02 洗盏更酌 Views(69) Comments(0) Diggs(0) Edit