首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
每日一题
李有魏来
创建于2022-06-09
订阅专栏
每日一题,记录成长,记录思路。
等 2 人订阅
共64篇文章
创建于2022-06-09
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
划分字母区间[贪心->空间换时间->数组hash优化]
贪心是一个很考察分析能力的题型之一,第一步需要分析到贪心点,第二步需要利用已知数据结构来完成构建代码,当如果不能直接解决,那就要考虑是否需要问题转换一下了。
行程和用户[阅读理解法]
对于一种SQL复杂题类型之一,就是阅读理解题,而解决方式也可以按照阅读理解的方式解决。抽出需求的主干句子,状语定语作为筛选,句子内再套一个句子,那就分层写view。
换座位[异或巧妙的让奇偶互换]
将奇数id和偶数id的其他字段交换,同时考察转换问题能力 & 直接分析能力。如 换其他字段 和 换id是镜像对称的,换了其他字段就等同于换了id。
连续出现的数字[如何完美处理连续特定记录问题?]
对于连续问题,在不采用SQL变量的情况下,就需要巧妙的分组(问题转换),针对特定的字段来排序,当序号id - 排序值rank 相等时,说明两条特定的记录是连续的。
有重复字符的排列组合[回溯 & 剪枝去重 || set去重]
排列组合必须要枚举所有情况,但当其中有重复字符时,就会出现重复的组合,即同一位置上选择位置不同但字符相同时,则后面的一套组合都是重复的。
二叉树最近的公共祖先[后序遍历与回溯模型的考察]
二叉树问题都可分类于,前序与dfs/中序与平衡二叉/后序与回溯/层序与bfs。二叉树最近的公共祖先,用回溯时寻找到的祖先体现为最近祖先。
情侣牵手[贪心 & 抽象]
贪心是考察分析能力的好题,尤其是带干扰性的,即需要我们将有用信息提取,去伪存真,将问题能够抽象出来。动态规划也是一样,如果没有抽象思维提取要害信息,则定义不出状态,自然也找不到状态如何转移。当然阅读理
选出表中的中位数记录[构造左右边界 || 问题转换]
对于选表中的中位数记录,或者说中位数落在了那一块记录,该如何解?可构造左右边界 || 问题转换(正序累计&反序累计都大于中值时该记录为中位数记录)。
牛客的课程订单分析[分组统计时如何取指定行字段?]
对于group by时,select只能出现分组字段和聚集函数的结果,如何拿到其中任意一条记录的字段呐?可以配合SQL的语法,在外层套一个聚集函数在内if限定记录即可。
链表的归并排序[自顶向下分治 || 自低向上合并]
对链表进行归并排序,不需要额外的辅助空间,可将空间复杂度降到O(1)。快慢指针寻找中点,将链拆开,递归回溯进行合并;或者从1/2/4/8进行拆链再合并&缝合链表。
带手续费买卖股票的最大利益[找DP的状态定义到底缺什么?]
贪心考察逻辑分析能力 & 抽象问题能力,动态规划也是一样,如何将问题转化为更小规模但性质相同的问题,真的很考察抽象问题能力,不抽象出来,给人的感觉就是有无数种复杂的可能,无法着手做题!
带障碍物的不同路径数[从DFS -> 动态规划]
DFS常用的优化手段就是动态规划,本质拿空间换时间,DFS空间复杂度低,动态规划时间复杂度低。一个指数级别,一个平方级别。
LRU缓存[线性表 -> 链表 -> hash定位 -> 双向链表]
对于LRU缓存,记忆根在hash + 双向链表,而分析的逻辑为线性表 -> 链表 -> hash定位 -> 双向链表。
有效的括号字符串[贪心练习]
贪心最考察分析能力,且训练变通能力,往往不和经典的死知识点挂钩,而是寻找贪心点,再用代码把自己的想法实现。所以不能发呆,需稳步快想!
验证二叉树的前序序列化[抽象前序遍历]
难题要么复杂,要么未知,要么就是抽象考察,这三种类型都比较锻炼分析问题的能力。通过验证二叉树的前序序列化,来锻炼抽象能力。
最大交换[贪心思想&单调栈实现]
贪心/DP是练习/考察逻辑思维的好题目,一半步骤为先纸上模拟模拟找找规律,再寻找适合的数据结构,再用代码把自己的想法实现出来。
重复的DNA序列[hash判定重复+滑动窗口+二进制编码之位运算]
判定数组中重复的数字时,可用hash记录;把数组变成字符串,判定字串是否重复时,可hash记录滑动窗口中的字串;但是字符串的hashcode获取可是要扫描字符串。
括号的分数[抽象树 || 数学问题转换]
树的抽象操作之一,就是同层操作与不同层操作,通过括号的分数来练习抽象的同层与非同层操作。除此之外,想要解法变得简单,那么思想就必须丰富巧妙,一般往数学问题上靠是最巧妙的。
滑动窗口的最大值[单调双端队列]
对于有序/连续子数组的最大最小问题,单调栈/队列/双端队列都是很好的记录小能手,记住这些大小值问题,就能降低时间复杂度,以空间换时间。
骑士在棋盘上的概率[DFS经典优化方向->动态规划]
常常DFS爆搜都是会超时的,即使有剪枝的加持,而超时的关键就是很多计算重复了。所以以空间换时间而闻名的动态规划刚好补上这个缺点,用空间把算过的都记下来,方便后面用,只需寻找一下前后递进关系即状态转移即
下一页