LeetCode python
文章平均质量分 59
JackHu-bme
一只小菜逼,求大佬们多多指教
展开
-
LeetCode Day3 15、三数之和
题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length <...原创 2021-10-29 16:14:33 · 3037 阅读 · 0 评论 -
LeetCode day2 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。1、哈希表class Solution: def majorityElement(self, nums: List[in...原创 2021-10-28 18:48:05 · 204 阅读 · 0 评论 -
LeetCode Day1
136. 只出现一次的数字难度简单2076收藏分享切换为英文接收动态反馈给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4这个题纯当学知识了,异或运算高效的实现效率和切合此题的背景。方法一:位运算如果不考虑时间复杂度和空间复杂度的限制,这道题.原创 2021-10-27 09:01:07 · 74 阅读 · 0 评论 -
Leetcode刷题Day5 Python
19. 删除链表的倒数第 N 个结点难度中等1533收藏分享切换为英文接收动态反馈给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为sz 1 &...原创 2021-08-30 15:51:57 · 120 阅读 · 0 评论 -
LeetCodeDay5Q876链表的中间节点Python
前几天忙项目没跟上做题,今天继续。876. 链表的中间结点难度简单390收藏分享切换为英文接收动态反馈给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans...原创 2021-08-30 11:44:21 · 193 阅读 · 0 评论 -
转载+修改:Day5 Q557反转字符串
python 反转字符串中单词思路详解SwantsL3发布于2020-05-268.9k精选PythonPython3解题思路因为在Python中字符串是不可变,因此遍历字符串交换每个单词内字符位置的方法不太可行,但是利用Python切片的便利,可以写出更优雅的实现方式。1、常规思路将字符串分割成单词列表 然后把每个单词反转切片代码Pythonclass Solution(object): def reverseWords(self, s): ...转载 2021-08-24 17:37:15 · 151 阅读 · 0 评论 -
LeetCode刷题Python Day5 Q344:反转字符串
非常简单的一道题344. 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出...原创 2021-08-24 16:41:58 · 91 阅读 · 0 评论 -
LeetCode刷题Day3Q167:两数之和II
仅作自己学习记录用。题目:167. 两数之和 II - 输入有序数组难度简单568收藏分享切换为英文接收动态反馈给定一个已按照升序排列的整数数组numbers,请你从数组中找出两个数满足相加之和等于目标数target。函数应该以长度为2的整数数组的形式返回这两个数的下标值。numbers的下标从 1 开始计数,所以答案数组应当满足1 <= answer[0] < answer[1] <= numbers.length。你可以假设每个输入只...原创 2021-08-22 12:29:26 · 151 阅读 · 0 评论 -
LeetCode刷题Python Day3 Q283移动零
此专栏所有文章仅用于自我学习记录。题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes解答:先是很自然的一个解答。照常理思维,先去把前面非0的部分排序排好,顺便统.原创 2021-08-22 12:11:13 · 132 阅读 · 0 评论 -
LeetCode刷题Python Day2Q189——旋转数组
题目:189. 旋转数组难度中等1079收藏分享切换为英文接收动态反馈给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为O(1) 的原地算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: ...原创 2021-08-21 18:57:33 · 111 阅读 · 0 评论 -
LeetCode刷题Day2 Q977 有序数组的平方
题目:977. 有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums....原创 2021-08-21 17:23:40 · 82 阅读 · 0 评论 -
LeetCode刷题Python Day1 Q35:搜索插入位置
题目如下:35. 搜索插入位置难度简单1029收藏分享切换为英文接收动态反馈给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3...原创 2021-08-20 20:49:38 · 163 阅读 · 0 评论 -
LeetCode每日刷题python:Day1Q278
题目:278. 第一个错误的版本难度简单384收藏分享切换为英文接收动态反馈你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有n个版本[1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号version是否在单元测试中出错。实现一个函数来查找第...原创 2021-08-20 19:55:55 · 89 阅读 · 0 评论 -
LeetCode每日刷题(python)——Day1 Q704二分查找
题目:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1提示:你...原创 2021-08-20 19:33:25 · 133 阅读 · 0 评论