摘要:
简介 最小路径和, 使用动态规划?? 感觉我是看出规律来着的 code class Solution { public: int minPathSum(vector<vector<int>>& grid) { vector<vector<int>> result(grid.size() + 1, v 阅读全文
摘要:
简介 看到这个题目就想到了dp,但是这个dp状态转移方程说实话一时半会儿, 想不出来. 这个时候你可以其实可以通过画相关关系,进而得到状态转移方程. if(text1[i-1] == text2[j-1]) { dp[i][j] = dp[i-1][j-1] + 1; }else{ dp[i][j] 阅读全文
摘要:
简介 记住如何使用C++11函数的话会很简单. 参考链接 https://leetcode-cn.com/problems/random-pick-with-weight/solution/528-an-quan-zhong-sui-ji-xuan-ze-qian-zh-p54t/ code cla 阅读全文
摘要:
简介 C++11 引进了很多集合函数, 在功能更加强大的同时, 也越发复杂. 参考链接 https://blog.csdn.net/qq_40160605/article/details/80150252 http://c.biancheng.net/view/639.html lower_boun 阅读全文
摘要:
简介 因为对于时间和空间有一定的要求, 所以, 不能用暴力哦. 大佬的思路 简单来说, 快慢指针第一次相遇不在环的入口处. 第二次相遇, 在环的入口处. low = fast 时,快慢指针相遇,low 走过的距离是初始点(0)到环状开始的点 (x) 加上 环状开始的点(x) 到相遇点(y) 这段距离 阅读全文
摘要:
简介 如果用暴力岂不是太不优雅了. 有些问题可以使用单调栈来进行计算. 简单思想 构建一个栈, 栈是一个有顺序的, 里面有一个while循环,然后 如果满足一定的条件, 将会一直弹出. code class Solution { public: vector<int> dailyTemperatur 阅读全文
摘要:
简介 暴力, 不过推荐官方的二分查找 code class Solution { public: vector<int> searchRange(vector<int>& nums, int target) { bool check = false; int indexS=-1, indexE = 阅读全文
摘要:
简介 滑动窗口, 使用优点队列, 即大小堆来实现 code class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int n = nums.length; PriorityQueue<int[]> pq = new P 阅读全文