Leetcode
qq_35407318
模型压缩和加速,计算机视觉
展开
-
《剑指Offer》牛客网笔记——数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中第一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。返回描述:如果数组中有重复的数字,函数返回true,否则返回false。如果数组中有重复的数字,把重复的数字放到参数duplication[0]中。(ps:duplication已经初始化,可以直接赋值使用。)代码c++clas原创 2021-01-03 15:01:30 · 108 阅读 · 0 评论 -
自学编程要求
原创 2020-11-26 18:28:25 · 75 阅读 · 0 评论 -
Leetcode笔记-(简单)485. 最大连续1的个数
笔记题目示例注意代码题目给定一个二进制数组, 计算其中最大连续1的个数。示例示例1输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。代码pythonclass Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: n = le原创 2020-08-04 11:24:26 · 92 阅读 · 0 评论 -
Leetcode笔记-(简单)27. 移除元素
执行结果:通过显示详情执行用时:44 ms, 在所有 Python3 提交中击败了45.53% 的用户内存消耗:13.8 MB, 在所有 Python3 提交中击败了5.11% 的用户原创 2020-08-03 23:23:06 · 108 阅读 · 0 评论 -
Leetcode笔记-(简单)167. 两数之和 II - 输入有序数组
笔记题目示例说明代码题目给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。示例输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。说明1. 返回的下标值(index1 和 index2)不是从零开始的。2. 你可以假设每个原创 2020-08-03 22:34:00 · 111 阅读 · 0 评论 -
Leetcode笔记-(简单)561. 数组拆分 I
笔记题目示例代码题目给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例示例输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示n 是正整数,范围在 [1, 10000].数组中的元素范围在 [-10000, 10000].代码pythonclass Solut原创 2020-07-25 22:55:36 · 88 阅读 · 0 评论 -
Leetcode笔记-(中等)151. 翻转字符串里的单词
笔记题目示例说明代码题目给定一个字符串,逐个翻转字符串中的每个单词。示例示例1输入: "the sky is blue"输出: "blue is sky the"示例2输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例3输入: "a good example"输出: "example good a"解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只原创 2020-07-25 22:21:25 · 129 阅读 · 0 评论 -
Leetcode笔记-(中等)面试题 01.08. 零矩阵
笔记题目示例代码题目编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例示例1 输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例2输入:[ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出:[ [0,0,0,0], [0,4,5,0], [0,3,1,0]]代码pythonclass Soluti原创 2020-07-25 21:00:18 · 129 阅读 · 0 评论 -
Leetcode笔记-(简单)35. 搜索插入位置
笔记题目示例代码题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例示例1输入: [1,3,5,6], 5输出: 2示例2输入: [1,3,5,6], 2输出: 1示例3输入: [1,3,5,6], 7输出: 4示例4输入: [1,3,5,6], 0输出: 0代码pythonclass Solution: def searchInsert(self,原创 2020-07-25 19:26:26 · 70 阅读 · 0 评论 -
Leetcode笔记-(简单)21. 合并两个有序链表
笔记题目示例思路代码题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路创建新的链表new比较l1和l2链表的元素,把较小的元素添加到new链表中。得到较小的元素的链表,该链表将指向下一个元素:比如l1 = l1.next ,重复第2步,直到某个列表元素比较完。两个链表比较完后,必然剩下最大元素,直接原创 2020-07-18 19:19:05 · 90 阅读 · 0 评论 -
Leetcode笔记-(中等)19. 删除链表的倒数第N个节点
笔记题目示例说明思路代码pyhton进阶:题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明给定的 n 保证是有效的。思路代码pyhton# Definition for singly-linked list.# class ListNode:# def __init__(self,原创 2020-07-18 13:53:19 · 95 阅读 · 0 评论 -
Leetcode笔记-(简单)237. 删除链表中的节点
笔记示例说明思路代码c++python请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例示例1输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例2输入: head = [4,5,1,9], node = 1输出: [4,5原创 2020-07-18 11:53:19 · 69 阅读 · 0 评论 -
Leetcode笔记-(简单)28. 实现 strStr()
笔记题目示例说明代码题目给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例示例1输入: haystack = "hello", needle = "ll"输出: 2示例2输入: haystack = "aaaaa", needle = "bba"输出: -1说明当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本原创 2020-07-17 23:52:46 · 88 阅读 · 0 评论 -
Leetcode笔记-(简单)14. 最长公共前缀
笔记题目示例说明代码题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例示例1输入: ["flower","flow","flight"]输出: "fl"示例2输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明所有输入只包含小写字母 a-z 。代码python(本人自己的思路【暴力法】,可能有更简单)class Solution: def longestCommonPrefi原创 2020-07-16 23:02:00 · 73 阅读 · 1 评论 -
Leetcode笔记-(简单)242. 有效的字母异位词
笔记题目示例说明:代码题目给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例示例1输入: s = "anagram", t = "nagaram"输出: true示例2输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。代码pythonclass Solution: def isAnagram(self, s: str, t: str) -> bool: t1原创 2020-07-12 00:36:09 · 89 阅读 · 0 评论 -
Leetcode笔记-(简单)387. 字符串中的第一个唯一字符
笔记题目示例代码题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例s = "leetcode"返回 0s = "loveleetcode"返回 2代码pythonclass Solution: def firstUniqChar(self, s: str) -> int: new1 = set(s) # 生成不重复元素的集合 flag = -1 # 将字符串中重复的元素添原创 2020-07-11 00:04:24 · 79 阅读 · 0 评论 -
Leetcode笔记-(简单)217. 存在重复元素
笔记题目示例代码题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例示例1输入: [1,2,3,1]输出: true示例2输入: [1,2,3,4]输出: false示例3输入: [1,1,1,3,3,4,3,2,4,2]输出: true代码python法1:使用set()函数:可以对列表去重,得到新的列表。class Solution: def contai原创 2020-07-09 23:09:28 · 105 阅读 · 0 评论 -
Leetcode笔记-(简单)1389. 按既定顺序创建目标数组
笔记题目示例代码用到的语法题目给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:目标数组 target 最初为空。按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。重复上一步,直到在 nums 和 index 中都没有要读取的元素。请你返回目标数组。题目保证数字插入位置总是存在。示例示例1输入:nums = [0,1,2,3,4], index = [0,1,2,2,1原创 2020-07-07 11:20:08 · 101 阅读 · 0 评论 -
Leetcode笔记-(简单)1502. 判断能否形成等差数列
笔记题目示例代码题目给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。示例示例1输入:arr = [3,5,1]输出:true解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。示例2输入:arr = [1,2,4]输出:false解释:无法通过重新排序得到等差数列。原创 2020-07-07 09:10:02 · 201 阅读 · 0 评论 -
Leetcode笔记-(简单)1470. 重新排列数组
笔记题目示例代码题目给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,…,xn,y1,y2,…,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,…,xn,yn] 格式重新排列,返回重排后的数组。示例示例1输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7] 解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]示例2输入:nums = [1,2,3原创 2020-07-06 21:45:19 · 84 阅读 · 0 评论 -
Leetcode笔记-(简单)1480. 一维数组的动态和
笔记题目示例代码题目给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例示例1输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例2输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+原创 2020-07-06 21:21:35 · 309 阅读 · 0 评论 -
Leetcode笔记-(简单)350. 两个数组的交集 II
笔记题目示例示例1示例2说明python代码题目给定两个数组,编写一个函数来计算它们的交集。示例示例1输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例2输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。python代码class Solution: def intersect(s原创 2020-06-28 17:25:12 · 95 阅读 · 0 评论 -
Leetcode笔记-(简单)189. 旋转数组
笔记题目(简单)示例示例1示例2说明python代码方法一方法二题目(简单)给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例示例1输入: [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 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2输入: [-1,-100,3,99] 和 k = 2输出: [3,99,原创 2020-06-28 18:12:52 · 84 阅读 · 0 评论 -
Leetcode笔记-(简单)7. 整数反转
笔记题目示例示例 1:示例2:示例3:注意代码Python题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例示例 1:输入: 123输出: 321示例2:输入: -123输出: -321示例3:输入: 120 输出: 21注意假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码Pythonclass Solution: def原创 2020-07-05 18:11:03 · 191 阅读 · 0 评论