首页 > 其他分享 >day3

day3

时间:2022-10-28 21:57:31浏览次数:27  
标签:target nums int sum subLength day3 result

  1. [0209长度最小的子数组]

    class Solution {
        public int minSubArrayLen(int target, int[] nums) {
            int numsLength = nums.length;
            for (int k = 0; k <= numsLength-1; k++){
                int sum = 0;
                int i = 0;
                int j = i + k;
                while (j <= numsLength-1){
                    for(int temp = i; temp <= j; temp++){
                        sum = sum + nums[temp];
                    }      
                    if (sum >= target)
                        return k+1; 
                    i++;
                    j++;
                }
            }
            return 0;
        }
    }
    
    • 确实看到提示说是用滑动窗口代替两个for循环,但调节滑动窗口的起始位置这部分精髓代码比较蒙''''''''''
    class Solution {
        public int minSubArrayLen(int target, int[] nums) {
            int numsLength = nums.length; 
            int i = 0; 
            int sum = 0;
            for (int j = 0; j <= numsLength-1; j++){
                sum += nums[j] 
                if (sum >= target){
                    i ++;
                    sum = sum - nums[i-1];  
                }
            }        
            }
            return 0;
        }
    }
    
    • 窗口可能大小subLength,窗口实际大小result,都还没定义出来
    class Solution {
        public int minSubArrayLen(int target, int[] nums) {
            int numsLength = nums.length; 
            int result = Integer.MAX_VALUE;
            int subLength = 0;
            int i = 0; 
            int sum = 0;
            for (int j = 0; j <= numsLength-1; j++){
                sum += nums[j]; 
                while (sum >= target){                
                    subLength = ( j - i + 1 );
                result = result < subLength ? result : subLength;
                sum = sum - nums[i];  
                i ++;
            }
        }        
        return result == Integer.MAX_VALUE ? 0 : result;
    }
    }
    
  • 里层用for和用while完全不一样,for只循环一次,while循环多次
    明天继续:)

标签:target,nums,int,sum,subLength,day3,result
From: https://www.cnblogs.com/deservee/p/16837631.html

相关文章

  • day3.0
    DOC命令//百度地址61.135.169.121第一代语言:机器语言:程序员直接编写二进制第二代语言:汇编语言第三代语言:c语言:面向过程c++:一半面向过程,一半面向对象java:面向......
  • day33
    html样式1.样式分为内联样式和外联样式: 内联样式:样式代码直接写在当前html页面中 外联样式:样式写在XXX.css文件中,并且在需要的页面中,使用Link标签引入2.样式:样......
  • day33
    流流根据方向的不同,可以分为输入和输出流(I/O流)输入流:用来读取数据的输出流:用来写出数据的流又可以分为低级流(字节流)和高级流(处理流或者过滤流)注意:高级流是......
  • day34 1005
    1005. K次取反后最大化的数组和classSolution{publicintlargestSumAfterKNegations(int[]nums,intk){Arrays.sort(nums);inti=0;......
  • 【leetcode_C语言_链表_day3】203.移除链表元素 &&707.设计链表 &&206.反转链表
    203.移除链表元素1.题目给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。示例1:​输入:he......
  • 【算法训练营day3】LeetCode203. 移除链表元素 707. 设计链表 206. 反转链表
    【算法训练营day3】LeetCode203.移除链表元素707.设计链表206.反转链表LeetCode203.移除链表元素题目链接:203.移除链表元素初次尝试题目比较简单,之前刷过链表的......
  • 尚硅谷-JavaWeb Day3 jQuery
    1.jQuery介绍:JavaScript和Query,辅助JavaScript 开发的js类库;2.js使用方式①在script标签中,先导入js文件②使用$(function(){....});表示页面......
  • Jvm(day3—内存模型)
    Jvm内存模型 名称说明方法区存储:类的元信息、静态变量、常量jdk1.8之后,用元空间替换了方法区,且元空间的内存不在jvm中,而是用的本地内存。堆区存储:对象......
  • 代码随想录day3● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表
    206.反转链表给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。虚拟头结点法:1ListNode*......
  • day3 栈+数组实现链表翻转
    只给头节点,可利用其线性特征,利用head->next遍历链表,将元素入栈;利用栈先进后出的特征,元素出栈保存到辅助vector中,返回vector;函数push_back():将元素放入数组最后一个元......