- 博客(37)
- 收藏
- 关注
原创 Leetcode算法训练日记 | day36
Leetcode:第 435 题给定一个区间的集合intervals,其中intervals[i] = [starti, endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。Leetcode:第 763 题给你一个字符串s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。Leetcode:第 56 题以数组intervals表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi]。
2024-04-25 15:42:55 747
原创 Leetcode算法训练日记 | day35
Leetcode:第 860 题在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。Leetcode:第 406 题假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个people[i] = [hi, ki]表示第i个人的身高为hi,前面正好有ki个身高大于或等于hi的人。Leetcode:第 452 题有一些球形气球贴在一堵用 XY 平面表示的墙面上。
2024-04-24 22:42:20 795
原创 Leetcode算法训练日记 | day34
Leetcode:第 1005 题给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为-nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组可能的最大和。Leetcode:第 134 题在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。Leetcode:第 135 题n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。
2024-04-23 23:33:30 1363
原创 Leetcode算法训练日记 | day33
Leetcode:第 55 题给你一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。Leetcode:第 45 题给定一个长度为n的0 索引整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。
2024-04-21 19:00:00 1204
原创 Leetcode算法训练日记 | day32
Leetcode:第 53题给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。Leetcode:第 122 题给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。
2024-04-20 17:52:00 1030
原创 Leetcode算法训练日记 | day31
Leetcode:第 455 题假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。Leetcode:第 376 题如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。
2024-04-20 17:01:45 1077 1
原创 Leetcode算法训练日记 | day30
Leetcode:第 332 题给你一份航线列表tickets,其中tickets[i] = [fromi, toi]表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。Leetcode:第 51 题按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的n皇后问题的解决方案。
2024-04-19 20:56:50 769
原创 Leetcode算法训练日记 | day29
Leetcode:第 491 题给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。Leetcode:第 46题给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。Leetcode:第 47题给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。
2024-04-18 20:26:31 1061
原创 Leetcode算法训练日记 | day28
Leetcode:第 93 题有效 IP 地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。Leetcode:第 78题给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。Leetcode:第 90题给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。
2024-04-16 21:35:21 596
原创 Leetcode算法训练日记 | day27
Leetcode:第 39 题给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的 所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。Leetcode:第 40题给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。
2024-04-15 20:11:59 894
原创 Leetcode算法训练日记 | day26
Leetcode:第 17题给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
2024-04-15 19:44:17 412
原创 Leetcode算法训练日记 | day25
backtracking 函数是一个递归函数,它尝试将每个可能的数字添加到当前路径中,并递归地继续添加下一个数字,直到路径长度达到 k 或者当前和超过目标和。在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。ps:以上皆是本人在探索算法旅途中的浅薄见解,诚挚地希望得到各位的宝贵意见与悉心指导,若有不足或谬误之处,还请多多指教。该列表不能包含相同的组合两次,组合可以以任何顺序返回。所有可能的有效组合的列表。没有其他符合的组合了。
2024-04-13 18:20:16 312
原创 Leetcode算法训练日记 | day24
Leetcode:第 77 题给定两个整数n和k,返回范围[1, n]中所有可能的k个数的组合。你可以按任何顺序返回答案。
2024-04-12 22:23:58 379
原创 Leetcode算法训练日记 | day23
Leetcode:第 669 题给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树不应该改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在唯一的答案。Leetcode:第 108 题给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵平衡二叉搜索树。
2024-04-11 20:00:00 1537
原创 Leetcode算法训练日记 | day22
Leetcode:第 235 题给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。Leetcode:第 701 题给定二叉搜索树(BST)的根节点root和要插入树中的值value,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。Leetcode:第 450题给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。
2024-04-10 21:49:48 800
原创 Leetcode算法训练日记 | day21
Leetcode:第 530 题给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。Leetcode:第 501 题给你一个含重复值的二叉搜索树(BST)的根节点root,找出并返回 BST 中的所有众数(即,出现频率最高的元素)。Leetcode:第 236题给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
2024-04-09 22:30:49 1083
原创 Leetcode算法训练日记 | day20
Leetcode:第 617 题给你两棵二叉树:root1和root2。Leetcode:第 700 题给定二叉搜索树(BST)的根节点root和一个整数值val。你需要在 BST 中找到节点值等于val的节点。 返回以该节点为根的子树。 如果节点不存在,则返回null。Leetcode:第 98题给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。
2024-04-08 20:51:45 838
原创 Leetcode算法训练日记 | day19
Leetcode:第 654 题给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:创建一个根节点,其值为nums中的最大值。递归地在最大值左边的子数组前缀上构建左子树。递归地在最大值右边的子数组后缀上构建右子树。返回nums构建的最大二叉树。
2024-04-07 23:25:55 405
原创 Leetcode算法训练日记 | day18
Leetcode:第 513 题 给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。Leetcode:第 112题给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则,返回false。叶子节点是指没有子节点的节点。
2024-04-06 22:21:41 854 1
原创 Leetcode算法训练日记 | day17
Leetcode:第 110 题给定一个二叉树,判断它是否是平衡二叉树。Leetcode:第 257 题给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。Leetcode:第 404 题给定二叉树的根节点root,返回所有左叶子之和。
2024-04-05 23:31:43 468 1
原创 Leetcode算法训练日记 | day16
Leetcode:第 104 题 给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。Leetcode:第 111 题 给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。Leetcode:第 222 题 给你一棵完全二叉树的根节点root,求出该树的节点个数。
2024-04-05 20:49:56 352 1
原创 Leetcode算法训练日记 | day15
Leetcode:第 102 题给你二叉树的根节点root,返回其节点值的层序遍历。 (即逐层地,从左到右访问所有节点)。Leetcode:第 226 题给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。Leetcode:第 101 题给你一个二叉树的根节点root, 检查它是否轴对称。
2024-04-04 23:11:00 426 1
原创 Leetcode算法训练日记 | day14
Leetcode:第 144 题给你二叉树的根节点root,返回它节点值的前序遍历。Leetcode:第 94 题给定一个二叉树的根节点root,返回它的中序遍历。Leetcode:第 145 题给你一棵二叉树的根节点root,返回其节点值的后序遍历。
2024-04-04 21:40:10 421 1
原创 Leetcode算法训练日记 | day13
Leetcode:第 347 题给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按任意顺序 返回答案。
2024-04-01 21:57:03 217
原创 Leetcode算法训练日记 | day12
Leetcode:第 239 题 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。
2024-04-01 21:15:53 394
原创 Leetcode算法训练日记 | day05
给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回null。给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回null。
2024-03-31 19:00:00 739 1
原创 Leetcode算法训练日记 | day04
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即只能进行节点交换)。给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。
2024-03-31 10:39:46 368 1
原创 Leetcode算法训练日记 | day09
使用KMP算法,先计算next数组,检查next数组的最后一个值不为0,则说明字符串有最长相同的前后缀,并且当s的长度可以被(s的长度 - 最长相等前后缀的长度), 即第一个重复长度整除时,说明字符串可以由子串重复多次构成。输入:haystack = "leetcode", needle = "leeto"输入:haystack = "sadbutsad", needle = "sad"解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1。解释: 可由子串 "ab" 重复两次构成。
2024-03-30 22:08:40 458
原创 Leetcode算法训练日记 | day11
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。给你一个字符串数组 tokens ,表示一个根据逆波兰表示法 表示的算术表达式。
2024-03-30 18:11:30 874
原创 Leetcode算法训练日记 | day10
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。
2024-03-29 21:47:26 1072 1
原创 Leetcode算法训练日记 | day08
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。
2024-03-27 18:03:23 918
原创 Leetcode算法训练日记 | day07
输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]]输入:nums1 = [0], nums2 = [0], nums3 = [0], nums4 = [0]输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]输入:nums = [1,0,-1,0,-2,2], target = 0。
2024-03-26 23:17:53 609
原创 Leetcode算法训练日记 | day06
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值target的那两个整数,并返回它们的数组下标。分别统计两个字符串每一个字符出现过的次数,然后比较字符出现的次数,若相同,则称 s 和 t 互为字母异位词,否则就不是字母异位词。result_set用于存储最终的交集结果,nums_set用于存储nums1中的元素。输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输入:nums1 = [1,2,2,1], nums2 = [2,2]
2024-03-26 20:04:03 518
原创 Leetcode算法训练日记 | day03
Leetcode:第 707 题你可以选择使用单链表或者双链表,设计并实现自己的链表。Leetcode:第 209题给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。Leetcode:第 206题给你单链表的头节点head,请你反转链表,并返回反转后的链表。
2024-03-22 23:33:06 338
原创 Leetcode算法训练日记 | day02
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按非递减顺序排序。给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的n x n。
2024-03-21 23:38:57 354
原创 Leetcode算法训练日记 | day01
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
2024-03-20 23:36:08 205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人