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

鹤岗市网站建设_网站建设公司_前端开发_seo优化

荆门网站建设电话咨询,做网站年薪百万,国内 wordpress主机,代理注册公司服务977.有序数组的平方 ● 力扣题目链接 ● 给你一个按 非递减顺序 排序的整数数组 nums#xff0c;返回 每个数字的平方 组成的新数组#xff0c;要求也按 非递减顺序 排序。 思路 ● 暴力排序#xff0c;时间复杂度O(n nlogn) ● 使用双指针#xff0c;时间复杂度O(n) …977.有序数组的平方 ● 力扣题目链接 ● 给你一个按 非递减顺序 排序的整数数组 nums返回 每个数字的平方 组成的新数组要求也按 非递减顺序 排序。 思路 ● 暴力排序时间复杂度O(n nlogn) ● 使用双指针时间复杂度O(n) 代码 class Solution {public int[] sortedSquares(int[] nums) {int[] res new int[nums.length]; // 返回的数组这个题目没法原地修改int l 0; int r nums.length -1;for (int i res.length - 1; i 0; i--) { // 遍历返回的数组每个元素都要放到适合的位置if (nums[l] * nums[l] nums[r] * nums[r]) {res[i] nums[l] * nums[l]; // 左边大l; // 左指针右移} else {res[i] nums[r] * nums[r]; // 右边大r--; // 右指针左移}}return res;} } // 思路一样换成while循环 class Solution {public int[] sortedSquares(int[] nums) {int[] res new int[nums.length];int l 0; int r nums.length - 1;int index nums.length - 1;while (l r) {if (nums[l] * nums[l] nums[r] * nums[r]) {res[index--] nums[l] * nums[l];l;} else {res[index--] nums[r] * nums[r];r--;}}return res;} }209.长度最小的子数组 ● 力扣题目链接 ● 给定一个含有 n 个正整数的数组和一个正整数 s 找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组并返回其长度。如果不存在符合条件的子数组返回 0。 思路 ● 可以暴力解法外层循环遍历数组内层不断往后看更新长度的最小值 ● 也可以使用滑动窗口 ○ 外层循环遍历数组不断移动快指针加到sum ○ 一旦发现超过target就开始移动慢指针更新res减去元素 ○ 最后看res是否更新过 代码 class Solution {public int minSubArrayLen(int target, int[] nums) {int s 0; int sum 0; int res Integer.MAX_VALUE;for (int f 0; f nums.length; f) { // 外层循环遍历数组sum nums[f];while (sum target) { // 一旦超过targetres Math.min(res, f - s 1); // 更新ressum - nums[s]; // 移动慢指针减去元素}}return res Integer.MAX_VALUE ? 0 : res; // 看res是否更新过} }59.螺旋矩阵II ● 力扣题目链接 ● 给定一个正整数 n生成一个包含 1 到 n^2 所有元素且元素按顺时针顺序螺旋排列的正方形矩阵。 思路 ● 设置四个边界不断循环处理 代码 class Solution {public int[][] generateMatrix(int n) {int l 0, r n - 1, b 0, t n - 1, num 0, tar n * n;int[][] res new int[n][n];while (num tar) {for (int i l; i r; i) {res[b][i] num;}b;for (int i b; i t; i) {res[i][r] num;}r--;for (int i r; i l; i--) {res[t][i] num;}t--;for (int i t; i b; i--) {res[i][l] num;}l;}return res;} }54.螺旋矩阵 ● 给你一个 m 行 n 列的矩阵 matrix 请按照 顺时针螺旋顺序 返回矩阵中的所有元素。 思路 ● 和上一题类似但是需要注意给集合中加元素不要重复 代码 class Solution {public ListInteger spiralOrder(int[][] matrix) {int l 0, m matrix.length - 1, b 0, n matrix[0].length - 1;int r n, t m, num 1;ListInteger res new ArrayList();while (num (m 1) * (n 1)) {for (int i l; i r num (m 1) * (n 1); i) { // 这步判断尽量写上res.add(matrix[b][i]);num;}b;for (int i b; i t num (m 1) * (n 1); i) {res.add(matrix[i][r]);num;}r--;for (int i r; i l num (m 1) * (n 1); i--) {res.add(matrix[t][i]);num;}t--;for (int i t; i b num (m 1) * (n 1); i--) {res.add(matrix[i][l]);num;}l;}return res;} }剑指 Offer 29.顺时针打印矩阵 ● 输入一个矩阵按照从外向里以顺时针的顺序依次打印出每一个数字。 思路 ● 与之前思路类似 代码 class Solution {public int[] spiralOrder(int[][] matrix) {if (matrix null || matrix.length 0) return new int[0];int m matrix.length;int n matrix[0].length;int[] res new int[m * n];int index 0, l 0, r n - 1, b 0, t m - 1;while (index res.length - 1) {for (int i l; i r index res.length - 1; i) {res[index] matrix[b][i];}b;for (int i b; i t index res.length - 1; i) {res[index] matrix[i][r];}r--;for (int i r; i l index res.length - 1; i--) {res[index] matrix[t][i];}t--;for (int i t; i b index res.length - 1; i--) {res[index] matrix[i][l];}l;}return res;} }
http://www.ihoyoo.com/news/114349.html

相关文章:

  • 宁波网站设计推广培训班WordPress服务器应用镜像
  • 健身会所网站模板网站框架怎么做的
  • 福州公司建站模板网络营销有哪些理论和方法
  • 怎样做网站设计要交税吗盐城 网络推广
  • 文成网站医院做网站怎么做
  • 哪个公司做的网站好网站首页菜单栏
  • 临沂网站公司哪家好科技酒店
  • dedecms的网站放在哪个文件夹里广告制作公司电话
  • 上海住房和城乡建设厅网站现在比较好的营销平台
  • 织梦网站案例微信020网站怎么建立
  • 网站备案域名还是空间新闻最新热点
  • 商务网站建设是什么网站地图的好处
  • 商务网站建设推荐如何建设高大上的网站
  • 国内做网站大公司南宁在线制作网站
  • 酒店网站建设协议下载百度语音导航地图
  • 网站后台管理系统模板下载江西省建设监督网站
  • 湖南长沙网站建设公司公众号电影网站是怎么做的
  • 域名怎么创建网站wordpress上传设置密码
  • 旅游网站建设流程是什么意思网站建设公司内幕
  • 宜宾市网站建设太原线上推广公司
  • 公司网站怎么维护网站开发种类
  • 聊城网站优化技术可以做语文阅读题的网站
  • 广州网站建设骏域房地产市场现状分析
  • 淘宝网站内搜索引擎优化怎么做投资好项目
  • 做游乐设施模型的网站wordpress链接乱码
  • 爱站网seo工具查询跨境电商千万别做亚马逊
  • 网站产品管理模块手机网站开发 c
  • 长春 万网 网站建设个人简历免费导出
  • 网站制作团队温州建设集团招聘信息网站
  • 官方建网站哪个好中国工商注册网查询登记