首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode
梦
创建于2022-08-24
订阅专栏
leetcode
暂无订阅
共36篇文章
创建于2022-08-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LeetCode:26. 删除排序数组中的重复项
时间复杂度:O(n) 空间复杂度:O(1) 思路: (1)两个下标 i,j ,初始时 i 在前,j 在后; (2)遍历并比较: 若 nums[i] = nums[j] ,则仅仅 j
LeetCode:1. 两数之和
思路: 参考以下链接解法2: 力扣 1.创建一个hashmap(C++ STL中的 hashmap 为 unordered_map<int, int> hm;) 注意这里的 hm 中:key存数组
LeetCode:21. 合并两个有序链表
方法1 递归: 思路: 需要另外创建一个临时的头结点 pHead (1) 我们直接将以上递归过程建模,同时需要考虑边界情况。 (2) 如果 l1 或者 l2 一开始就是空链表 ,那么没有任何操作需要
LeetCode:350. 两个数组的交集 II
方法1 排序 + 双指针遍历: 思路: 先排序,然后使用两个指针遍历两个数组 初始时,两个指针分别指向两个数组头部,每次比较两个指针指向的两个数组中的数字: (1)若两个数字不相等,则将指向较小数字的
LeetCode:(236)剑指 Offer 68 - II. 二叉树的最近公共祖先
思路: 参考 B站大佬:递归方法寻找二叉树任意的两个节点的最近公共祖先 含代码展示和思路讲解 1、如果p和q分别是root的左右节点,那么root就是我们要找的最近公共祖先 2、如果p和q都是root
LeetCode:98. 验证二叉搜索树
方法1 递归: 思路: 引入上下边界(参考LeetCode大神题解) 对于树的每个节点 val ,设其上下边界 low , high。(用 long 防止 INT_MAX 溢出 ) 判断根结点时,须满
LeetCode:122. 买卖股票的最佳时机 II
方法1 贪心算法: 思路: 参考大佬题解:力扣题解 方法1 贪心算法:“贪心算法” 在每一步总是做出在当前看来最好的选择 贪心算法和动态规划相比,它既不看前面(也就是说它不需要从前面的状态转移过来)
LeetCode:860. 柠檬水找零
思路: 定义5元和10元的变量,因为20元不会参与找零,所以不参与计算. 三个条件判断即可: 1.若顾客支付 5 元,five++; ✔
LeetCode 455. 分发饼干:
思路: 贪心算法:尽可能匹配更多符合条件的数据 优先满足胃口值小的孩子,再满足胃口值大的孩子...(尽最大可能使每块儿饼干能够被充分利用) (1)先对孩子胃口值和饼干尺寸进行升序排序 (2)
LeetCode 53. 最大子序和:
方法1 暴力法: 思路: (略) 时间复杂度: O(n^2) 空间复杂度: O(1) 方法2 动态规划: 思路: dp[i]表示nums中以nums[i]结尾的最大子序和,dp[i]有两种可能
LeetCode 64. 最小路径和:
思路: 参考 LeetCode题解(没有题解自己做,写成了回溯法,遍历所有可能 = =,答案还是错的 哎~) 搜索的做法仅仅在数据规模比较小的时候才考虑使用,因为复杂度较高,所以采用dp。由
LeetCode 322. 零钱兑换:
思路: 利用dp:类似于LeetCode70:爬楼梯(唯一区别就是爬楼梯时:比如爬3层楼梯时,可能情况有1,1,1、1,2、2,1这三种,需要考虑顺序不同的情况。但是在零钱兑换中1,2和2,1属于同一
LeetCode 198. 打家劫舍
思想: 可参考 labuladong题解 (同类题:打家劫舍 II) 如果房屋数量大于两间,应该如何计算能够偷窃到的最高总金额呢?对于第 i(i>2) 间房屋,有两个选项: (1)偷第 i 间房屋:
LeetCode:387. 字符串中的第一个唯一字符
思路: 1.定义长度为123(方法1: 字符'z'的ascii码值为122,且数组下标从0开始,所以长度为122 + 1) 的字符数组sArray 或 27(方法2: 下标从0开始,且要与2
LeetCode:142. 环形链表 II
思路 :快慢指针 首先,思考若正常环形链表什么时候相遇?假设链表是个圆环(圆圈◯), A B 两指针从原点0出发,当A到达圆环一半的时候,B应该回到了原点,当A到原点,正好一圈的时候,B也到了原点,两
LeetCode 49. 字母异位词分组:
思路: 由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符串分别进行排序之后得到的字符串一定是相同的,故可以将排序之后的字符串作为哈希表(go中为map)的键。 时间复杂度: O(nklog
LeetCode 144. 二叉树的前序遍历
方法1 迭代: 思路: 利用栈(数组)实现,从根节点开始不断向下遍历左子节点,并且将每个节点入栈,直至左子节点不存在(为空)。 接下来,获取栈顶的节点top,获取top的右子节点,从栈中弹出
LeetCode 78. 子集:
思路: 参考:LeetCode大神题解 编辑 单看每个元素,都有两种选择:选入子集,或不选入子集。 考察当前枚举的数,基于选它而继续,是一个递归分支;基于不选它而继续,又是一个分支。 比如[1,2,
LeetCode:145. 二叉树的后序遍历
思路: 递归法:就是根据 左右根 的顺序递归即可 迭代法:需要借助栈先进后出的特性。 有一个标记根节点的flagMap,用来标记第几次经过某个根节点root,只有第二次经过某个根节点时,才存储其结果,
剑指 Offer 09. 用两个栈实现队列
思路: 参考:大佬题解 1. 加入队尾 appendTail() 函数: 将数字 val 加入栈 A 即可; 2. 删除队首 deleteHead() 函数,有以下三种情况: 当栈 B 不为空:B中仍
下一页