首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
每日算法
linyv
创建于2022-11-29
订阅专栏
发现问题--->思考问题--->解决问题--->提升自我
暂无订阅
共126篇文章
创建于2022-11-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
分数到小数——模拟
代码: 如果可以整除,余数为 0 ,则直接相除,然后将 int 转 string(strconv.Itoa),然后直接返回就可以了 如果不能整除,则将整数部分,和小数部分分开计算即可,当然计算前要考虑
单词拆分——动态规划
代码: 哈希表存储字典中的单词 dp表示当前长度的 s 是否可以被组成 dp[0]初始化,长度为 0 当然可以被组成 第一层 for 从长度为 1 开始,由小问题一步一步推向大问题 第二层 for 想
克隆图——copy
代码: 如题,给你所用指针,让你将这些指针指向的地址再复制一份 所以,遍历所有的指针,将遍历到的指针全都分配一份新的地址 visited哈希用来记录当前指针我们是否已经分配过地址了 cg函数传入指针,
缺失的第一个正数——原地哈希
代码1: 因为要找的是最小正数,所以只需要考虑值在(1——n)之间的的数就可以了,如果有值大于n,或存在一个数为负数,那么说明一定有一个小于n的数不在数组中 所以我们只需要将数组中值在(1——n)之间
有效的数独
一次遍历: 建立二维数组rows,cols,用来记录每一行,每一列的数字是否符合要求 建立三维数组rcs用来记录每个九宫格中的数字是否符合要求 两层for,拿到的行列(i,j),可以一次性的将建立的三
整数转罗马数字
 初始化right 遍历he
接雨水——算法
代码1.0-按列求: 每次找当前列左边的最大值,以及右边的最大值,其中,左右相对小的那个值减去当前列的值,就是当前列可以存放雨水的量 当然也不能直接减,因为为负值的时候,表示的应该是无法存放雨水,也就
滑动窗口最大值——单调队列
代码——单调队列: 单调队列 q 用来记录当前滑动窗口的单调递减队列,其中如果新加进来的元素更大,直接将比它小的元素弹出,因为是新加进来的所以下标更靠后,所以队列前面比它小,下标还靠前的元素就没有存在
目标和——动态规划
方法——DFS: 代码1 dfs dfs(cur+1, res + nums[cur]),将cur,res都作为函数的参数传递,那么在回溯的时候不需要还原这些值 方法二——动态规划: dp切片的的i和
分割等和子集——动态规划
代码1: 长度小于2,特判false,和为奇数,特判false,最大值大于和的一半,特判false 接下来,0-1背包问题,动态规划,建立dp[i][j]bool二维切片,i 表示nums[:i+1]
根据身高重建队列
1. 将原数组按一号元素降序,二号元素升序排列 2. 遍历排序好的元素将他们按照自身二号元素的大小插入到相应的下标 3. 这便是最终答案 4. 因为一号元素是从大到小排列,所以先将前面的加入到ans中
除法求值——带权并查集
图二: 因为from不管通过哪条路径相对于根节点t的权值都是不会变的所以可以得出 w[from] * w[f] == val * w[to] ` ` 方法 —— 带权并查集: 因为元素与元素之间存在除
等式方程的可满足性——并查集
方法并查集: 我们可以将每一个变量看作图中的一个节点,把相等的关系 == 看作是连接两个节点的边,那么由于表示相等关系的等式方程具有传递性,即如果 a==b 和 b==c 成立,则 a==c 也成立。
前k个高频元素——sort.Slice
sort.Slice函数,我们只需传入一个比较函数实现即可:sort.Slice(slice, func(i,j int) bool {})
任务调度器——构造
图二 代码: maxExec记录数量最多的任务数,如示例1中,最多任务数为3个,maxExec=3 maxExecCnt记录(数量最多的任务数)有几个,如示例1中,A,B都是数量最多的,所以maxEx
最短无序连续子数组——?
1. 从前往后遍历,保证R指向的值往后全都严格递增,且R指向的下一个值比前面的所有的值都大,所以我们要维护一个max值,如果满足`max <= nums[i]`,我们就让`max = nums[i]`
零钱兑换——动态规划
代码: 构建dp数组,自动初始化dp[0] = 0 第一层for遍历amount的同时初始化dp数组的其他值为-1,即默认无法组合,若第二层for无法更新dp数组,那么默认-1即可 第二层for遍历c
下一页