随笔分类 -  leetcode刷题

算法总结
Leetcode 47 全排列Ⅱ
摘要:Leetcode 47 全排列Ⅱ 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 提示: 1 <= nums.length <= 8 -10 <= nums[i] <= 10 解题思路 终止条件:该解已选取nums数组的所有元素,将该解加入解集 单层递归:从头开始将n 阅读全文
posted @ 2022-08-10 02:34 墩墩儿er 阅读(24) 评论(0) 推荐(0) 编辑
Leetcode 93 复原IP地址
摘要:Leetcode 93 复原IP地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168 阅读全文
posted @ 2022-08-09 21:15 墩墩儿er 阅读(33) 评论(0) 推荐(0) 编辑
Leetcode摆动序列系列
摘要:摆动序列系列 Leetcode280 摆动排序 **题目:**给你一个的整数数组 nums, 将该数组重新排序后使 nums[0] <= nums[1] >= nums[2] <= nums[3]... **题解:**设置双指针在排好序的一头一尾,这样先选取小的再选取大的,循环直至数组中的数都被选完 阅读全文
posted @ 2022-06-28 07:34 墩墩儿er 阅读(49) 评论(0) 推荐(0) 编辑
leetcode209 长度最小的子数组
摘要:方法一:暴力,两层for循环——会超时 Python class Solution: def minSubArrayLen(self, target: int, nums: List[int]) -> int: result = len(nums) + 1 for i in range(len(nu 阅读全文
posted @ 2022-06-21 22:44 墩墩儿er 阅读(19) 评论(0) 推荐(0) 编辑
Leetcode977 有序数组的平方
摘要:方法一:先平方,再排序 时间复杂度:O(n+nlogn) ⇒ O(nlogn) Python class Solution: def sortedSquares(self, nums: List[int]) -> List[int]: for i in range(len(nums)): nums[ 阅读全文
posted @ 2022-06-21 21:30 墩墩儿er 阅读(5) 评论(0) 推荐(0) 编辑
leetcode 进制转换合集
摘要:leetcode 进制转换合集 leetcode504 七进制数 给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/base-7 解题思路 这边的输入范围是 -107 ⇐ num 阅读全文
posted @ 2022-04-03 03:03 墩墩儿er 阅读(160) 评论(0) 推荐(0) 编辑
leetcode114.二叉树展开为链表
摘要:leetcode 114.二叉树展开为链表 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺序相同。 来源:力扣(Leet 阅读全文
posted @ 2022-04-03 01:57 墩墩儿er 阅读(19) 评论(0) 推荐(0) 编辑
leetcode774 寻找比目标字母大的最小字母
摘要:leetcode774 寻找比目标字母大的最小字母 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出现的。举个例子: 如果目标字母 target = 'z' 并且字符列 阅读全文
posted @ 2022-04-03 01:06 墩墩儿er 阅读(47) 评论(0) 推荐(0) 编辑
leetcode 19. 删除链表的倒数第N个结点
摘要:19. 删除链表的倒数第N个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 **进阶:**你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出 阅读全文
posted @ 2021-10-09 15:03 墩墩儿er 阅读(44) 评论(0) 推荐(0) 编辑
leetcode 203. 移除链表元素
摘要:203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: **输入:**head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: * 阅读全文
posted @ 2021-10-09 11:09 墩墩儿er 阅读(48) 评论(0) 推荐(0) 编辑
leetcode 332. 重新安排行程——回溯
摘要:332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。如果存 阅读全文
posted @ 2021-10-08 16:51 墩墩儿er 阅读(90) 评论(0) 推荐(0) 编辑
leetcode200. 岛屿数量——深度优先搜索
摘要:200. 岛屿数量 给你一个由 **'1'(陆地)**和 **'0'(水)**组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ["1","1 阅读全文
posted @ 2021-10-01 16:57 墩墩儿er 阅读(63) 评论(0) 推荐(0) 编辑
leetcode 22. 括号生成——动态规划
摘要:22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 有效括号组合需满足:左括号必须以正确的顺序闭合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 阅读全文
posted @ 2021-09-27 18:24 墩墩儿er 阅读(463) 评论(0) 推荐(0) 编辑
leetcode 70.爬楼梯——动态规划
摘要:70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? **注意:**给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 ​ 1 阶 + 1 阶 ​ 2 阶 **示例 2:** 阅读全文
posted @ 2021-09-27 18:02 墩墩儿er 阅读(30) 评论(0) 推荐(0) 编辑
leetcode326. 3的幂——每日一题2021.9.23
摘要:326. 3的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 提示: -231 ⇐ n ⇐ 231 - 1 试除法 将n不断除以3,直到 n==1 ,如果n无法被3整 阅读全文
posted @ 2021-09-23 15:25 墩墩儿er 阅读(27) 评论(0) 推荐(0) 编辑
leetcode15. 三数之和——双指针
摘要:15. 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 提示: 0 ⇐ nums.length ⇐ 3000 -105 ⇐ num 阅读全文
posted @ 2021-09-23 15:19 墩墩儿er 阅读(28) 评论(0) 推荐(0) 编辑
leetcode 725. 分隔链表——每日一题2021.9.22
摘要:725. 分隔链表 给你一个头结点为 head 的单链表和一个整数k,请你设计一个算法将链表分隔为 k 个连续的部分。 每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。 这 k 个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大 阅读全文
posted @ 2021-09-22 11:47 墩墩儿er 阅读(41) 评论(0) 推荐(0) 编辑
leetcode74. 搜索二维矩阵——二分搜索
摘要:74. 搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 提示: m == matrix.length n == matrix[i].length 1 ⇐ m, n ⇐ 阅读全文
posted @ 2021-09-21 19:17 墩墩儿er 阅读(53) 评论(0) 推荐(0) 编辑
leetcode58.最后一个单词的长度——每日一题2021.9.21
摘要:58. 最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。 返回字符串中最后一个单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 提示: 1 <= s.length <= 104 s 仅有英文字母和空格 ' ' 组成 s 中至少存在一个单词 阅读全文
posted @ 2021-09-21 17:09 墩墩儿er 阅读(36) 评论(0) 推荐(0) 编辑
leetcode33. 搜索旋转排序数组——二分查找
摘要:33. 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k (0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1], nums[0], 阅读全文
posted @ 2021-09-21 12:56 墩墩儿er 阅读(74) 评论(0) 推荐(0) 编辑




点击右上角即可分享
微信分享提示