![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
从最基础的开始,每日一题。
now-this-is-living
这个作者很懒,什么都没留下…
展开
-
2021-05-21 leetcode 26. 删除有序数组中的重复项
题目给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDupli转载 2021-05-21 10:20:21 · 123 阅读 · 0 评论 -
2021-05-20 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]输出: truesolution思路:首先将数组进行排序,检查排序后的数组相邻元素是否相等,如果相等则说明有重复元素,输出True;否则,输出False。需要原创 2021-05-20 09:32:10 · 87 阅读 · 0 评论 -
2021-05-19 leetcode 169. 多数元素
题目给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 [n/2] 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:[3,2,3]输出:3示例 2:输入:[2,2,1,1,1,2,2]输出:2solution思路:首先将数组nums进行排序。然后,由于多数元素是出现次数超过一半的数,所以排名中间的数就是多数元素。执行用时:36 ms, 在所有 Python3 提交中击败了98.33%的用户内存消耗:16 MB, 在所原创 2021-05-19 09:00:27 · 102 阅读 · 0 评论 -
2021-05-12 leetcode 122. 买卖股票的最佳时机 II
题目给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,原创 2021-05-12 09:37:09 · 101 阅读 · 0 评论 -
2021-05-10 leetcode 118. 杨辉三角
题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]solution思路:输入numRows,也就是杨辉三角的前numRows行。第三行List = [[1]],先将三角形第一行的第一个列表[1]放入空列表,这个时候List是一个二维列表。第四行for i in ran原创 2021-05-11 21:41:46 · 148 阅读 · 0 评论 -
2021-05-10 剑指 Offer 03. 数组中重复的数字
题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 100000solution思路:for i in nums循环nums中的元素,然后将nums复制到temp_list,并将该次循环中的元素i从temp原创 2021-05-10 09:29:33 · 72 阅读 · 0 评论 -
2021-05-09 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+1+1+1] 。.原创 2021-05-09 10:39:20 · 257 阅读 · 0 评论 -
2021-05-08 leetcode 1486. 数组异或操作
给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。按位异或:参加运算的两个数据,按二进制位进行“异或”运算。运算规则:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0; 0^0=0; 0^1=1; 1^0=1; 1^1=0示例 1:输入:n = 5, start ..原创 2021-05-08 09:33:52 · 83 阅读 · 0 评论