当前位置: 首页 > news >正文

Leetcode---209长度最小子数组

209长度最小子数组

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

示例 1:

输入:target = 7, nums = [2,3,1,2,4,3]
输出:2
解释:子数组 [4,3] 是该条件下的长度最小的子数组。
示例 2:

输入:target = 4, nums = [1,4,4]
输出:1
示例 3:

输入:target = 11, nums = [1,1,1,1,1,1,1,1]
输出:0

暴力解法

是两个for循环,一个指向起始位置,一个指向结束位置,经历所有的区间集合,查看所有的区间元素的和是否大于S。再选择元素数最小的区间。

滑动窗口算法

有两个指针,一个指向起始位置i,一个指向结束位置j,在遍历的那一层我们选择让j来遍历,i和j的起始位置都是0也就是数组的开头,当sum值大于S时,酒啊开始让i开始移动,找寻最短的区间

class Solution {
    public int minSubArrayLen(int target, int[] nums) {
        int  result= 100000;
         int i=0;
         int sum=0;
         for(int j=0;j<nums.length;j++){
            sum+=nums[j];
            while(sum>=target){
                result=Math.min(j-i,result);
                sum-=nums[i];
                i++;
            }
         }
         return result;
    }
}

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

示例 1:

输入: nums = [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右轮转 1 步: [7,1,2,3,4,5,6]
向右轮转 2 步: [6,7,1,2,3,4,5]
向右轮转 3 步: [5,6,7,1,2,3,4]
这个题相对而言是简单的,但是注意是旧元素去往了新的位置。

class Solution {
    public void rotate(int[] nums, int k) {
        int n = nums.length;
        
        int[] temp = new int[n];
        System.arraycopy(nums, 0, temp, 0, n);
        
        // 正确分割两部分
        for (int i = 0; i < n; i++) {
           nums[(i+k)%n]=temp[i];
            

             // 正确顺序应为新位置接收旧元素
        }
    }
}

相关文章:

  • 代码贴——堆(二叉树)数据结构
  • 智能对讲机:5G+AI赋能下的石油工业新“声”态
  • linux top htop 命令有什么不同
  • vue These dependencies were not found
  • 【mysql】mysql数据库数据导入、导出/备份还原操作
  • 16.1STM32_ADC
  • 微软AI900认证备考全攻略:开启AI职业进阶之路
  • android13打基础:控件datepicker
  • 【代码分享】基于IRM和RRT*的无人机路径规划方法详解与Matlab实现
  • 中科大 计算机网络组成原理 1.4 接入网和物理媒体 笔记
  • 公开笔记:Python语法和常用函数介绍
  • C语音的常见概念
  • C语言-----扫雷游戏
  • PHP fastadmin 学习
  • 【CPP面经】科大讯飞 腾讯后端开发面经分享
  • transformer架构解析{掩码,(自)注意力机制,多头(自)注意力机制}(含代码)-3
  • 机器人训练环境isaac gym以及legged_gym项目的配置问题
  • OpenGL 3D纹理
  • Docker新手入门(持续更新中)
  • C#基础及标准控件的使用,附登录案例
  • 网站建设及维修合同范本/谷歌浏览器免费入口
  • 怎么做局域网网站/免费留电话号码的广告
  • 宝山品牌网站建设/亚马逊关键词快速优化
  • 网站建设选哪个/磁力岛
  • 大连市网站建设/seo网站推广助理
  • 怎么查询网站备案/千部小黄油资源百度云