- 博客(11)
- 收藏
- 关注
原创 刷题第九天
1、阶乘后的零 int trailingZeroes(int n) { if(n<5){ return 0; } return n/5+trailingZeroes(n/5); }2、将数字变成0的操作次数int numberOfSteps(int num) { if(num==0){ return 0; } if(num&
2022-04-11 16:09:35
71
原创 刷题第八天
1、翻转图像vector<vector<int>> flipAndInvertImage(vector<vector<int>>& image) { int r=image.size(); int c=image[0].size(); vector<vector<int>> ret (r, vector<int>(c));; for(int i=0
2022-04-10 13:55:53
448
原创 刷题第七天
1、统计矩阵中负数int countNegatives(vector<vector<int>>& grid) { int cnt=0; for(auto x:grid){ for(auto y:x){ if(y<0){ cnt++; } } } ret
2022-04-09 16:50:11
224
原创 刷题第六天
1、最大乘积差排序后,取最大的两个数作为x,y,最小的两个数下标作为y和z int maxProductDifference(vector<int>& nums) { sort(nums.begin(),nums.end()); int n=nums.size(); return nums[n-2]*nums[n-1]-nums[0]*nums[1]; }2、三角形的最大周长3、数组拆分int arrayP
2022-04-08 14:49:45
227
原创 刷题第五天
1、排序数组 vector<int> sortArray(vector<int>& nums) { sort(nums.begin(),nums.end()); return nums; }2、多数元素int majorityElement(vector<int>& nums) { unordered_map<int,int> cnt; int n=num.
2022-04-07 12:55:07
219
原创 刷题第四天
重新排列数组给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。必须新建一个数组存放值。判读数组下标,奇数下标:则将原数组下标为n后的元素依次替换偶数下标:则将原数组奇数下标的元素后移(下标为0则不变) vector<int> shuffle(vector<int>& nums, in
2022-04-06 16:30:24
244
原创 (积累)指针
一、概念定义1、指针即地址计算机中所有数据必须放置内存中,不同类型的数据占用的字节数也不一样,例如32位整型int占据4个字节,64位整型long long占据8个字节,字符型char占据1个字节。为了正确地访问这些数据,必须为每个字节都编上编号,每个字节地编号是唯一的。把内存中字节的编号称为地址或指针。地址从0开始依次递增,对于32位环境下,程序能使用的内存位4GB,最小的地址为0,最大的地址为0xFFFFFFFF。2、取地址char x = 'o';char *p = (x)
2022-04-06 10:54:01
310
原创 刷题第三天
1、搜索旋转排序数组暴力枚举速度反而更快。。。。。。 int search(vector<int>& nums, int target) { for(int i=0;i<nums.size();i++){ if(nums[i]==target){ return i; } } return -1; }二分查找int searc
2022-04-05 16:58:28
382
原创 (积累)寻找目标值
1、二分查找int l=0;int r=n-1;while(l<=r){ int mid=l+r>>1; if(nums[mid]==target){ return nums[mid]; } else if(target>nums[mid]){ l=mid+1; } else { r=mid-1; }} 2、双指针数组中无重复答案int l=0;
2022-04-04 17:11:55
58
原创 刷题第二天
一、简单做法求1+2+...+n注意i初始为1,i 临界点等于n int sumNums(int n) { int sum=0; for(int i=1;i<=n;i++){ sum+=i; } return sum; }2的幂int的范围是2^31 ~ 2^31-1;若i=31,p最大算到2^31,超出范围,所以如果要让i=31,需要定义p为unsign int类型其实运行i&l
2022-04-04 11:22:45
58
原创 刷题第一天
1、两整数之和 int getSum(int a, int b) { return a+b; }2、不用加号的加法int add(int a, int b) { return a+b; }3、不用加减乘除做加法int add(int a, int b) { return a+b; }4、递归乘法 int multiply(int A, int B) { return A*B;
2022-04-03 14:34:33
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人