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

数据结构数组总结

 

给定一个含有 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

n = 1 的时候直接返回 

n = 偶数的时候最后的一个元素的下标是results[i ] [j + 1]

n = 奇数的时候最后一个元素的下标是results[i + 1] [j + 1]

public int[][] generateMatrix(int n) {int [][] results = new int [n][n];int start = 1;int i = 0;int j = 0;int x = 0;int y = 0;int x1 = n - 1;int y1 = n - 1;if(n == 1){return new int [][]{{1}};}while(start <= n * n){for(j = y; j < y1 ; j++) {results[x][j] = start++;}for(i = x; i < x1 ; i++){results[i][y1] = start++;}for(j = y1; j > y; j--){results[x1][j] = start++;}for(i = x1; i > x; i--){results[i][y] = start++;}if(start == n * n){if(n % 2 == 0){results[i][j +  1] = start;}else {results[i + 1][j + 1] = start;}break;}x = x + 1;y = y + 1;x1 = x1  - 1;y1 = y1  - 1;}return results;}

给定一个含有 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
   public int minSubArrayLen(int target, int[] nums) {int i = 0;int sum = 0;int len = Integer.MAX_VALUE;for(int j = 0; j < nums.length; j++){sum += nums[j];while(sum >= target){ // 过滤结果len = Math.min(len,j - i +  1);sum -= nums[i]; // 缩小窗口i++;}}return len == Integer.MAX_VALUE? 0: len;}

给定一个整数数组 Array,请计算该数组在每个指定区间内元素的总和。

输入描述

第一行输入为整数数组 Array 的长度 n,接下来 n 行,每行一个整数,表示数组的元素。随后的输入为需要计算总和的区间,直至文件结束。

输出描述

输出每个指定区间内元素的总和。

输入示例

5
1
2
3
4
5
0 1
1 3

1
2
3
4
5
6
7
8

输出示例

3
9

1
2

数据范围:

0 < n <= 100000

 

 

  public static void prefixTotal(){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int [] nums = new int [n];for(int i = 0;i < n; i++){nums[i] = sc.nextInt();}int [] p = new int [n +  1];int sum = nums[0];p[0] = nums[0];for(int i = 1; i < n; i++){ //  1  2  3  4  5sum += nums[i - 1];p[i] = p[i - 1] + nums[i - 1];}while(sc.hasNext()){int left = sc.nextInt();int right = sc.nextInt();System.out.println(p[right + 1] - p[left]);}}

http://www.xdnf.cn/news/9966.html

相关文章:

  • 大模型调用数据库表实践:基于自然语言的SQL生成与数据查询系统
  • 石油炼化厂融合定位系统人员管控解决方案
  • 阿里云服务器ECS详细购买流程【新手购买手册】
  • 小白的进阶之路系列之六----人工智能从初步到精通pytorch数据集与数据加载器
  • 学习STC51单片机20(芯片为STC89C52RCRC)
  • Webug4.0靶场通关笔记03- 第3关SQL注入之时间盲注(手注法+脚本法 两种方法)
  • 字体查看器
  • C学习-头文件
  • iVX 如何用 VL 中间语言构建程范式闭环?
  • [SC]SystemC语法小结(一)
  • Linux部署python项目为服务,开启自启动
  • 上传图片转成3D VR效果 / 用photo-sphere-viewer实现图片VR效果 / VR效果在项目中落地实践
  • WebBuilder赋能中山欣锠鞋业数字化转型实践
  • Web 系统验证码与登录安全防护全攻略(附实现方案)
  • The CTeX fontset “fandol“ is unavailable in the current mode.
  • 复合机器人:纠偏算法如何重塑工业精度与效率?
  • AET3156AP电源方案 禾纳代理商
  • 1.什么是node.js、npm、vue
  • vue3 各种数据处理
  • Spring 核心知识点补充
  • 文档处理的相关工具
  • MMR搜索和LangChain整合Milvus实战
  • 小白的进阶之路系列之七----人工智能从初步到精通pytorch自动微分优化以及载入和保存模型
  • 高精度、高效率:正面吊箱号识别系统如何实现精准识别
  • 多模态大模型:开启智能决策的新时代
  • TimeoutException问题排查
  • 必会利器:scp 命令
  • Linux程序管理练习题
  • Python中的enumerate函数:优雅地遍历序列索引与元素
  • 一个开源脚本,可自动安装在 AMD Radeon 7900XTX 上运行选定 AI 接口所需的所有内容