- 博客(8)
- 收藏
- 关注
原创 动态规划资料收集与整理
方法是反证法,考虑加入某个子问题的解不是其自身的最优解,那么就可以从原问题的解中用该子问题的最优解替换掉当前的非最优解,从而得到原问题的一个更优的解,从而与原问题最优解的假设矛盾。很容易实现这样一个朴素的搜索做法:在搜索时记录下当前准备选第几个物品、剩余的时间是多少、已经获得的价值是多少这三个参数,然后枚举当前物品是否被选,转移到相应的状态。每一步可以走到当前点左下方的点或右下方的点。先说最好理解的子问题重叠,就上面的例子中,相比于暴力枚举的方法,把重复计算的部分去掉考虑进去就已经能大幅优化算法复杂度。
2023-05-03 01:45:00
343
原创 二叉树整理(一)
概念Leetcode定义 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left, TreeNode right) {
2022-04-10 17:18:41
426
原创 leetcode做题 二分递归找第一个错误版本
原题:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnto1s/最近在学着写递归,然后就只想着递归解题了结果做出来反而慢了 这里记录一下想法是写一个递归函数 一直二分找 找到中间的左边或右边的为要找的数为止public class Solution extends VersionControl { public int firstBadVersion(int n) { return ch
2022-01-07 01:05:21
174
原创 算法积累之位运算笔记
位运算相比于直接进行加减乘除的运算具有高度的时间复杂度优势,下面对位运算实现一些操作做一些整理记录首先打印一个int的二进制表示的方法 public static void print(int num) { for (int i = 31; i >= 0; i--) { System.out.print((num & (1 << i)) == 0 ? "0" : "1"); } System.out.println(); }然后关于int整形明确一点
2021-12-27 01:15:01
215
原创 关于我被leetcode进阶误导使用错误方法解题通过的事
原题链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xn2925//** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; }
2021-12-27 00:50:42
483
原创 匪夷所思的链表节点杀人事件
算法初学,跟着写leetcode的题写到应该说非常简单的链表第一题重复写了好几遍都不对,然后一看评论的一句话就明白了,大概的过程如下原题:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/submissions/一开始有个误区 写了node = node.next;但是对这个节点来说,我们只能操作node.val 或者 node.next 对node 的赋值动作没有意义!...
2021-12-26 21:33:00
161
原创 关于技术支持的一些个人总结(一)
gyjszc -zyjyf前言这篇会是个开篇,算是鄙人对自己这三年工作经历做一个总结。这一系列文档主要用于向不了解FAE(field application engineer)的人做一个职业分享。主要面向想了解这个职业的初入社会的学生、从事人力资源的人、工作中经常与FAE打交道的职友。经验基于本人从事的两次工作经历而谈,也可能并不完全匹配与你实际遇到的情况,但我会尽可能的拿出一些共性的、可以参考的内容,也欢迎评论或私信询问或探讨。定义FAE(filed application engineer)直译
2021-07-30 17:45:22
2632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人