![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeedCode刷题
时间和空间,总有一个需要走在前面
&~&
这个作者很懒,什么都没留下…
展开
-
日常刷题8-数组拆分
思路:先将数组排序,然后取奇位便可class Solution {public: int arrayPairSum(vector<int>& nums) { int i; int ret = 0; sort(nums.begin(), nums.end()); for(i = 0;i < nums.size();i+=2) ret += nums[i]; .原创 2021-02-16 09:17:58 · 149 阅读 · 0 评论 -
日常刷题-13
看着击败越来越多好上头呀,题不难class Solution {public: bool checkRecord(string s) { int A_count = 0, L_count = 0; int i = 0; while(s[i]!='\0') { if(s[i] == 'A') A_count++; else if(s[i] == 'L原创 2021-08-17 08:36:45 · 201 阅读 · 0 评论 -
日常刷题12-把字符串转换成整数
class Solution {public: int strToInt(string str) { long int sum = 0; int i,signal = 1;//负 //判断第一个非空字符 for(i = 0;i < str.size();++i) { if(str[i] == ' ') continue; .原创 2021-03-13 10:32:34 · 141 阅读 · 0 评论 -
日常刷题11-爬楼梯
class Solution {public: int climbStairs(int n) { int i,p,q; if(n < 3) return n; p = 1; q = 2; for(i = 3;i<=n;++i) { q = p + q; p = q - p; } .原创 2021-03-08 20:23:01 · 105 阅读 · 0 评论 -
日常刷题10-下一个更大元素||
需求class Solution {public: vector<int> nextGreaterElements(vector<int>& nums) { vector<int>ret(nums.size(),0); int signal;//标志 int i,j;//循环 for(i = 0; i < nums.size(); ++i) {原创 2021-03-06 09:23:08 · 91 阅读 · 0 评论 -
日常刷题9-相同的树
class Solution {public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p==nullptr && q==nullptr) return true; else if(p==nullptr || q==nullptr) return false; else if(p->val != q->val).原创 2021-03-02 21:20:48 · 106 阅读 · 0 评论 -
日常刷题8- 重塑矩阵
class Solution {public: vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) { int i; int m = nums.size(); int n = nums[0].size(); int len = m*n; if(len !=.原创 2021-02-17 09:47:53 · 115 阅读 · 0 评论 -
日常刷题7-和为s的两个数字
需求思路:很明显的双指针class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int i = 0, j = nums.size()-1; int sum = 0; while(i<j) { sum = nums[i] + nums[j]; if(su原创 2021-02-14 10:36:57 · 90 阅读 · 0 评论 -
日常刷题6-统计一个数字在排序数组中出现的次数
需求,思路,由于数组是排序的,因此首要任务是先找到target采用二分查找class Solution {public: int search(vector<int>& nums, int target) { if (nums.empty()) return 0; int l = 0, r = nums.size() - 1, res = 0; while (l < r) {原创 2021-02-07 14:41:31 · 97 阅读 · 0 评论 -
日常刷题5-子数组最大平均数
题目需求很明显最简单的方式便是采用滑动窗口的方式,计算k个窗口的和,然后随着 i 的移动,加上nums[i],再减去nums[i - k],将sum与maxsum比较即可;流程展示:代码实现class Solution {public: double findMaxAverage(vector<int>& nums, int k) { int i; int maxsum = 0, sum = 0;原创 2021-02-04 15:53:23 · 118 阅读 · 0 评论 -
日常刷题 4
class Solution {public: int min(int a,int b,int c) { if(a<=b&&a<=c) return a; else if(b<=a&&b<=c) return b; else return c; } int nthUglyNumber(int n) .原创 2020-12-30 11:31:43 · 114 阅读 · 0 评论 -
日常刷题3
class Solution {public: int minArray(vector<int>& numbers) { int i; for(i = 0;i<numbers.size();++i) { if(i == numbers.size()-1) break; if(numbers[i+1]<numbers[i]) .原创 2020-12-30 09:22:06 · 86 阅读 · 0 评论 -
日常刷题2
class Solution {public: int lastStoneWeight(vector<int>& stones) { if(stones.size()<=0) return 0; if(stones.size() == 1) return stones[0]; int arr[1001] = {0}; for(int i=0;i &..原创 2020-12-30 09:04:33 · 81 阅读 · 0 评论 -
日常刷题1
题目思路:①由于字符串中只存在小写字符,则创建一个长度为26的数组保存每个字符出现的个数②遍历字符串s,与计数数组进行比较,寻找第一个出现在字符串s中且计数为1的字符,返回其下表否则,返回-1class Solution {public: int firstUniqChar(string s) { int i = 0; int *arr = new int[26](); while(s[i]!='\0') {原创 2020-12-23 20:57:22 · 152 阅读 · 0 评论