LeetCode 初级算法
删除排序数组中的重复项

class Solution {
public:
int removeDuplicates(vector& nums) {
int size=nums.size();//获取数组的长度
int left=0;//定义左指针
int right=1;//定义右指针
for(int i=right;i

买卖股票的最佳时机 ΙΙ

class Solution {
public:
int maxProfit(vector& prices) {
//本题相当于求所有上升区间的总和,最简单的方法是贪心法
int max=0;//收益最大值
for(int i=1;i0){
//如果差值大于0,则卖出
max+=price;
}
}
return max;
}
};

旋转数组

class Solution {
public:
void reverse(vector& nums,int start,int end){
while(start& nums, int k) {
int size=nums.size();
k%=size;
reverse(nums,0,size-1);
reverse(nums,0,k-1);
reverse(nums,k,size-1);
}
};
解题思路


存在重复元素

class Solution {
public:
bool containsDuplicate(vector& nums) {
//先排序再比较
sort(nums.begin(),nums.end());
for(int i=1;i

只出现一次的数字
