首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
leecode
偷鸡贼
创建于2022-05-30
订阅专栏
做题记录
暂无订阅
共133篇文章
创建于2022-05-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
线段最大重叠数量、矩形最大重叠数量
题目 给定一组线段,求其中某个线段能够重叠其它线段的最大线段数量 一个线段能够和其它线段重叠,则该线段的头一点在另一个线段的头和尾之间 先将线段按照头大小排序,这样可以使得后序的每一个线段的头都在之前
滑动窗口 字符串包含另一个字符串的最小子序列
题目 先记录 str2 的所有元素的词频,窗口left和right从0开始,right移动过程中每遇到str2中的字符,对应词频-1,小于0也继续-1,当right移动到所有词频都小于等于0时,说明此
前缀树+贪心 子数组最大异或和
题目 给定一个数组,返回数组中子数组的最大异或和 遍历模型为遍历每一个子数组,通过预处理得到每一个0-i位置结尾的异或和 根据异或和性质可以求出,arr[j,i]异或和=arr[0,i]异或和 ^ a
数组 逆序数组指定部分
题目 给定一个数组,随机划分一个位置,要求最终数组右边区域和左边区域的值互换,比如[a,b,c,d,e],指定位置为2,则[d,e,a,b,c] 将左边位置逆序,右边位置逆序,然后整体逆序,空间复杂度
动态规划 正数裂变方法数
题目 补充:集合要求递增,所以(1,2)可以(2,1)不行 遍历模型为从1开始,尝试每一种数,如果要尝试的数比剩余的数要大,说明违反了递增,返回0,如果剩余数量为0,返回1
快排 无序数组中第 k 小的数
题目 给定一组无序数组,求其中第k小的数 利用快排的分治思想,每次等于区间的位置是固定的,只需要查找每次分治时等于区间的索引是否有 k ,没有则根据 k 是在小于区间还是大于区间,往一个方向进行递归
动态规划 去掉字符变成回文串方案数量
题目 范围上尝试模型,对[i,j]范围上进行可能性分析,分为四种情况 以i开头,不以j结尾,a 不以i开头,以j结尾,b 不以i开头、不以j结尾,c 以i开头、j结尾,d dp[i][j]表示[i,j
动态规划 切字符串成回文最小次数
题目 遍历模型为:来到每一个位置,判断是否为回文串,如果是回文串,则递归子过程继续查找回文串,每次找到+1,因为要让所有切成的子串都是回文串,所以无法满足时返回Infinity
动态规划 判断回文串
题目 给定字符串判断是否为回文串 范围尝试模型:判断[i,j]范围是否为回文串,dp[i][j], i、j为字符串 [i,j] 范围是否为子串 当区间长度为1时,一定是回文 当区间长度为2时,如果两个
动态规划 最少添加字符构成回文字符串
题目 遍历模型为:遍历每一个范围的子串[i,j] 如果 i = j,此时子串长度为1,不需要添加字符; 如果 [i,i+1] ,即子串长度为2,如果两个字符相等,不需要添加字符,如果不相等,只需要添加
动态规划 字符串最长回文子序列
题目 给定一个字符串,求字符串的最长回文子序列 遍历模型为遍历每一个子串,dp[i][j],i、j表示从 i 到 j范围的子串,首先 i 不可能大于 j,当 i==j 时,区间长度为1,所以最长回文子
贪心+双指针 一船最多两人过河问题
题目 本题最优解的贪心策略为:让小于船载重一半的体重尽量大的和大于船载重一半的体重尽量小的做一起 双指针从小于等于船载重量一半的最右位置开始,向两边扩 比如下例,假设船载重量为10,则一半为5 先对数
动态规划 最长公共子序列
题目 给定两个字符串,求两个字符串的最长公共子序列 遍历模型为遍历所有子串,动态规划表 dp[i][j],i、j表示以 i、j 结尾的子串 ,而求公共子序列分为四种可能性 公共子序列位置和 i、j位置
动态规划 最长公共子串
题目 给定两个字符串,求两个字符串的最长公共子串 遍历模型为,两个公共子串如果有,那么最后一位一定相等,所以遍历两个字符串的所有子串,如果最后一位相等,那么就看双方前面位置的字符串是否相等,如果最后一
递归+栈 计算表达式
题目 给定一组字符串表达式四则运算,表达式一定正确,请返回计算结果 从左往右遍历字符串,每当遇到运算符,将之前的字符数字存入栈中,同时也将运算符存入栈中,继续遍历,当再次遇到运算符或遍历完成时,存入字
动态规划 矩阵中蛇能走的最大累加和
题目 因为每一个点都可能产生最大值,所以遍历模型为可以往前遍历取上中下的遍历结果,之前位置的结果需要返回用过一次能力和一次能力都没用的结果,本位置根据上次结果来判断用能力和不用能力的结果然后返回 本题
滑动窗口 正数数组累加和等于k的最长子数组
题目 给定一个正数数组,求所有累加和等于k的最长子数组 通过设置窗口,如果当前累加和大于k,那么向右移动左指针,如果累加和小于k,向右移动右指针,如果累加和等于k,那么记录窗口长度然后向右移动左指针,
动态规划 组合运算符返回true|false
题目 首先合法的表达式:长度为奇数、逻辑运算符一定在两个数字中间且只有一个 遍历规则为:根据每一个逻辑运算符进行遍历,每个运算符左边和右边都可能返回true|false,根据指定的值设置返回的方法数,
非遍历 查找数组中未出现的数
题目 因为数组长度为n的其中元素都1<=arr[i]<=n,那么将索引和值关联,让值-1==索引,所以遍历数组中元素,将元素放到对应位置,原位置的数被取代时继续放到对应位置,最好遍历数组,如果值和索引
动态规划 字符串编辑最小代价
题目 创建dp数组,dp[i][j]表示把 str1 从 0-i 位置编辑成 str2 从 0-j 位置的代价 0 位置表示空串 "",字符串从 1 位置开始,从空串变成字符串只能是插入,所以dp数组
下一页