LeetCode刷题

1.auto

for (auto x : nums)的作用:
相当于:
for (vector< int >::iterator iter = nums.begin(); iter != nums.end(); iter++)

for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。
for(auto &a:b)中加了引用符号,可以对容器中的内容进行赋值,即可通过对a赋值来做到容器b的内容填充。

125验证回文串

在这里插入图片描述

			auto isVowel = [vowels = "aeiouAEIOU"s](char ch) 
			{
            	return vowels.find(ch) != string::npos;
        	};


在这里插入图片描述

209.长度最小的子数组

方法一:暴力解法

class Solution {
public:
    int minSubArrayLen(int s, vector<int>& nums) {
        int n = nums.size();
        if (n == 0) {
            return 0;
        }
        int ans = INT_MAX;
        for (int i = 0; i < n; i++) {
            int sum = 0;
            for (int j = i; j < n; j++) {
                sum += nums[j];
                if (sum >= s) {
                    ans = min(ans, j - i + 1);
                    break;
                }
            }
        }
        return ans == INT_MAX ? 0 : ans;
    }
};

方法二:滑动窗口

int minSubArrayLen(int target, vector<int>& nums) {
        if(nums.size()==0)
        {
            return 0;
        }
        if(nums.size()==1)
        {
            return nums[0]>=target?1:0;
        }
        int n=nums.size();
        int len=INT_MAX;
        int left=0;
        int right=0;
        int windows=0;
    
        while(right<n)
        {
            windows+=nums[right];
              
           while(windows>=target)
           {
               len=min(len,right-left+1);
               windows-=nums[left];
               left++;
           }
            right++;
        }
        return len==INT_MAX?0:len;
    }

187.重复的DNA序列

在这里插入图片描述

290 单词规律

在这里插入图片描述
istringstream in(str);

auto

在这里插入图片描述

在这里插入图片描述

优先级

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值