代码随想录训练营第三十五期|第2天|数组part02|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结

本文主要是介绍代码随想录训练营第三十五期|第2天|数组part02|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

977. 有序数组的平方 - 力扣(LeetCode)

class Solution {public int[] sortedSquares(int[] nums) {int[] res = new int[nums.length];int idx = nums.length - 1;int left = 0;int right = nums.length - 1;while (left <= right) {if (nums[left] * nums[left] <= nums[right] * nums[right]) {res[idx] = nums[right] * nums[right];right--;idx--;} else {res[idx] = nums[left] * nums[left];left++;idx--;}}return res;}
}

209. 长度最小的子数组 - 力扣(LeetCode)

time: O(n)

Space:O(1)

class Solution {public int minSubArrayLen(int target, int[] nums) {int left = 0;int res = Integer.MAX_VALUE;int sum = 0;for (int right = 0; right < nums.length; right++) {sum += nums[right];while (sum - nums[left] >= target) {sum -= nums[left];left++;}if (sum >= target) res = Math.min(res, right - left + 1);}return res == Integer.MAX_VALUE ? 0 : res;}
}

第二种写法:把res的取值写道while循环里面

class Solution {public int minSubArrayLen(int target, int[] nums) {int left = 0;int res = Integer.MAX_VALUE;int sum = 0;for (int right = 0; right < nums.length; right++) {sum += nums[right];while (sum >= target) {res = Math.min(res, right - left + 1);sum -= nums[left];left++;}}return res == Integer.MAX_VALUE ? 0 : res;}
}

59. 螺旋矩阵 II - 力扣(LeetCode)

loop++放在后面就会不过,为什么呢

class Solution {public int[][] generateMatrix(int n) {int start = 0;int loop = 0;int count = 1;int[][] res = new int[n][n];int i;int j;while (loop++ < n/2) {//left->rightfor (j = start; j < n - loop; j++) {res[start][j] = count++;}//right side up to downfor (i = start; i < n - loop; i++) {res[i][j] = count++;}//down right to leftfor (; j >= loop; j--) {res[i][j] = count++;}//left side down to upfor (; i >= loop; i--) {res[i][j] = count++;}start++;//loop++;}if (n % 2 == 1) {res[start][start] = count;}return res;}
}

这篇关于代码随想录训练营第三十五期|第2天|数组part02|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877321

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

poj 1287 Networking(prim or kruscal最小生成树)

题意给你点与点间距离,求最小生成树。 注意点是,两点之间可能有不同的路,输入的时候选择最小的,和之前有道最短路WA的题目类似。 prim代码: #include<stdio.h>const int MaxN = 51;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int P;int prim(){bool vis[MaxN];

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

hdu 1102 uva 10397(最小生成树prim)

hdu 1102: 题意: 给一个邻接矩阵,给一些村庄间已经修的路,问最小生成树。 解析: 把已经修的路的权值改为0,套个prim()。 注意prim 最外层循坏为n-1。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstri