- 博客(10)
- 收藏
- 关注
转载 2021-05-21 leetcode 26. 删除有序数组中的重复项
题目给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDupli
2021-05-21 10:20:21
123
原创 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
原创 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
原创 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
原创 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
原创 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
原创 MOOC 翁恺 C语言笔记(二)
5月7日p33 循环输入一串数字,输出这串数字一共有多少位数int main() { int a; int n = 0; printf("input a number:"); scanf("%d", &a); while (a > 0) { n++; a /= 10; } printf("%d", n);}不用循环也可以做到,对其求以10为底的对数,然后取整数部分再加1,就是这个整数的位
2021-05-09 13:01:18
201
原创 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
原创 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
原创 MOOC 翁恺 C语言笔记(一)
视频链接5月5日p15 浮点数注意:inch需要除以12.0,这样可以把inch转换成float型或者将inch定义为double,double是浮点型(表示双精度浮点数),float也是浮点型(表示单精度浮点数)int main() {printf("请分别输入身高的英尺和英寸,如输入\"5 7\"表示5英尺7英尺:");int foot;int inch;scanf("%d %d", &foot, &inch);// 注意:inch需要除以12.0,这样可以把inch
2021-05-07 10:52:46
582
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人