从LeetCode走进数组

Posted Recently 祝祝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从LeetCode走进数组相关的知识,希望对你有一定的参考价值。

1:长度最小子数组

讲解:

不管怎么样都需要遍历一遍数组,看一下有没有一次遍历可以获取想要得到的数据—》右指针循环一次遍历将获取是值相加存储起来sum,在将长度存储起来result,内部添加循环while:左指针++,若左指针右移一位后还是大于目标值,则长度result=right-left+1(长度计算式),随之变换。

代码

package com.example.shimmer;

public class Subarray 

    public int minSubArrayLen(int s, int[] nums) 
        int left = 0;
        int sum = 0;
        int result = Integer.MAX_VALUE;
        for (int right = 0; right < nums.length; right++) 
            sum += nums[right];
            while (sum >= s) 
                result = Math.min(result, right - left + 1);
                sum -= nums[left++];
            
        
        return result == Integer.MAX_VALUE ? 0 : result;
     

    public static void main(String[] args) 
        Subarray subarray1  = new Subarray();
        int[] arr = 2,3,1,2,4,3;
        System.out.println(subarray1.minSubArrayLen(7,arr));
    

2:

讲解

代码

以上是关于从LeetCode走进数组的主要内容,如果未能解决你的问题,请参考以下文章

从LeetCode走进链表

从LeetCode走进链表

回文算法

LeetCode #188场周赛题解

LeetCode #188场周赛题解

LeetCode第188周 周赛