二分查找前提是数组为有序数组注意开闭区间int search(vector & nums, int target) {int left = 0;...
两个月的算法训练营,主要学习了 数组、链表、哈希表、字符串、栈与队列、二叉树、回溯、贪心、动态规划及单调栈。 题目虽然不多,但也是卡哥精心挑选,...
84.柱状图中最大的矩形 找每个柱子左右两边第一个小于该柱子的柱子 从栈头(元素从栈头弹出)到栈底的顺序从大到小 三种情况: 情况一:当前遍历的...
503.下一个更大元素II 两个nums数组拼接在一起,使用单调栈计算出每一个元素的下一个最大值,最后再把结果集即result数组resize到...
739.每日温度 首先想到暴力求解 遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次 单调栈里存放元素的...
647.回文子串 动规五部曲 确定dp数组(dp table)以及下标的含义 dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串...
583.两个字符串的删除操作 动规五部曲 确定dp数组(dp table)以及下标的含义 dp[i][j]:以i-1为结尾的字符串word1,和...
392.判断子序列 动态规划五部曲 确定dp数组(dp table)以及下标的含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标...
1143.最长公共子序列 动规五部曲 确定dp数组(dp table)以及下标的含义 dp[i][j]:长度为[0, i - 1]的字符串tex...