Leetcode1700题
Python3为主 C++11为辅
秋水自流三千尺
这个作者很懒,什么都没留下…
展开
-
1464. 数组中两元素的最大乘积
1464. 数组中两元素的最大乘积PythonC++要逆序排列,所以C++需要用greater<int>()作为参数Python选择reverse=True原创 2020-07-09 22:29:26 · 226 阅读 · 0 评论 -
1502. 判断能否形成等差数列
1502. 判断能否形成等差数列C++PythonPython排序用sort后改变原列表,不改变用sorted原创 2020-07-09 22:20:25 · 216 阅读 · 0 评论 -
1266. 访问所有点的最小时间
1266. 访问所有点的最小时间C++Python思想很简单,绝对值最大的,就是需要走的,可以举几个例子看看规律要注意不要越界,要么从1开始遍历,要么遍历到倒数第二个,因为每次遍历会涉及到前后2个元素return sum(max(abs(points[i][0]-points[i-1][0]),abs(points[i][1]-points[i-1][1])) for i in range(1,len(points))) 表示从1遍历的,range从1开始,len结束,正常默认是0,所以原创 2020-07-09 21:44:42 · 129 阅读 · 0 评论 -
1450. 在既定时间做作业的学生人数
1450. 在既定时间做作业的学生人数C++Python在中间就行Python的range()直接填写个数,就会遍历多少次,本质上是左闭右开Python支持直接大小比较,不用拆开Python无++ --操作原创 2020-07-09 21:19:32 · 145 阅读 · 0 评论 -
1295. 统计位数为偶数的数字
1295. 统计位数为偶数的数字C++Python核心思路就是把数字转换成字符串,逐个判断长度C++使用to_string()函数转换为string类型,即可用size()求长度Python使用str()函数转成字符串,使用len()求长度Python的代码中1 for num in nums if len(str(num)) % 2 == 0得到的是一个列表,使用的技巧是列表表达式,遍历列表,对于符合条件的元素,按照最前面的变换,添加到列表中,所以最后列表是[1, 1],sum求和得原创 2020-07-09 21:08:23 · 253 阅读 · 0 评论 -
1313. 解压缩编码列表
1313. 解压缩编码列表class Solution {public: vector<int> decompressRLElist(vector<int>& nums) { int n=nums.size(); vector<int>ans; int k=0; for(int i=0,j=1;i<n-1;i+=2,j+=2){ for(k=0;k<n原创 2020-07-07 17:23:52 · 133 阅读 · 0 评论 -
1470. 重新排列数组
1470. 重新排列数组class Solution {public: vector<int> shuffle(vector<int>& nums, int n) { vector<int> ans; for(int i=0,j=n;i<n;i++,j++){ ans.push_back(nums[i]); ans.push_back(nums[j]);原创 2020-07-07 17:13:12 · 143 阅读 · 0 评论 -
1486. 数组异或操作
1486. 数组异或操作class Solution {public: int xorOperation(int n, int start) { int ans=start; for(int i=0;i<n-1;++i){ start+=2; ans^=start; } return ans; }};核心思路是求出每一位的数组值后就立即进行异或,而不是保存到数组原创 2020-07-07 17:01:14 · 165 阅读 · 0 评论 -
1431. 拥有最多糖果的孩子
1431. 拥有最多糖果的孩子class Solution {public: vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) { int maxCandies=*max_element(candies.cbegin(),candies.cend()); int n=candies.size(); vector<bool&原创 2020-07-07 15:05:40 · 290 阅读 · 0 评论 -
1480. 一维数组的动态和
1480. 一维数组的动态和class Solution {public: vector<int> runningSum(vector<int>& nums) { for(int i=1;i<nums.size();++i){ nums[i]+=nums[i-1]; } return nums; }};动态规划的思想动态规划的思想是解决重叠的子问题,通过维护一个数组原创 2020-07-07 13:03:43 · 181 阅读 · 0 评论 -
1304. 和为零的N个唯一整数
力扣原题链接 1304. 和为零的N个唯一整数class Solution {public: vector<int> sumZero(int n) { vector<int> ans; int sum=0; //核心:因为要求都不相同,所以构造的时候分为正负即可,先添加n-1个自然数,最后一个负数调平 fo...原创 2020-04-08 13:48:05 · 133 阅读 · 0 评论 -
1323. 6 和 9 组成的最大数字
力扣原题链接 1323. 6 和 9 组成的最大数字class Solution {public: int maximum69Number (int num) { string s=to_string(num); //将num转换为字符串string类进行逐位遍历,使用to_string函数 for(auto& c:s){ //传引用! ...原创 2020-04-07 23:58:15 · 158 阅读 · 0 评论 -
1365. 有多少小于当前数字的数字
力扣原题链接 1365. 有多少小于当前数字的数字class Solution {public: vector<int> smallerNumbersThanCurrent(vector<int>& nums) { vector<int> ret(nums.size(),0); //注意在这里,使用了特殊的初始化,初...原创 2020-04-06 17:23:25 · 155 阅读 · 0 评论 -
1380. 矩阵中的幸运数
力扣原题链接 1380. 矩阵中的幸运数class Solution {public: vector<int> luckyNumbers (vector<vector<int>>& matrix) { vector<int> ans; //因为返回的是vector for(i...原创 2020-04-05 16:35:59 · 201 阅读 · 0 评论 -
1360. 日期之间隔几天
力扣原题链接 日期之间隔几天class Solution { bool leap_year(int year){ return year%400==0||(year%100!=0&&year%4==0); } //判断是不是闰年 int date_to_int(string date){ int year,month...原创 2020-04-04 21:17:29 · 177 阅读 · 0 评论 -
1385. 两个数组间的距离值
力扣原题链接 1385. 两个数组间的距离值class Solution {public: int findTheDistanceValue(vector<int>& arr1, vector<int>& arr2, int d) { int ans=0; int size=arr2.size(); ...原创 2020-04-03 13:00:17 · 220 阅读 · 1 评论 -
1394. 找出数组中的幸运数
1394. 找出数组中的幸运数 力扣原题链接class Solution {public: int findLucky(vector<int>& arr) { //对于这种需要遍历知道每个值有多少个的,使用关联容器或者无需容器来做 unordered_map<int,int> numArray; int ...原创 2020-04-02 15:03:32 · 286 阅读 · 0 评论