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

做机电证的网站船山网站建设

做机电证的网站,船山网站建设,可以不花钱做网站吗,网站有标题数组 1、二分法 704. 二分查找 - 力扣#xff08;LeetCode#xff09; 需要注意区间的问题。首先在最外面的循环判断条件是leftright。那就说明我们区间规定的范围就是【left,right】 属于是左闭右闭#xff01;#xff01;#xff01;#xff01;#xff01;LeetCode 需要注意区间的问题。首先在最外面的循环判断条件是leftright。那就说明我们区间规定的范围就是【left,right】 属于是左闭右闭 那之后在判断target和我们数组中的num [ mid ] 大小关系之后再重新调整right以及left的时候应该是left mid 1right mid - 1 while (left right) 要使⽤ 因为left right是有意义的所以使⽤ if (nums[middle] target) right 要赋值为 middle - 1因为当前这个nums[middle]⼀定不是target那么接 下来要查找的左区间结束下标位置就是 middle - 1 2、移除元素双指针-同向 27. 移除元素 - 力扣LeetCode 除了可以暴力两层循环这么去从后往前覆盖从而消除掉目标元素 还可以使用双指针法快慢指针重点是理解快慢指针什么含义 快指针遍历数组去寻找新数组的元素就是通过这个指针去找出来除了目标元素的所有值 慢指针用于指向新数组的下标就是通过快指针找到符合条件的元素不是需要删除的元素就将其放进“新数组”慢指针指向的下标就会1 int slow 0; for(int fast 0; fast nums.length; fast){if(nums[fast] ! target){nums[slow] nums[fast];} }3、有序数组的平方双指针-相向 题目需求一个有序数组存在有负数所有元素依次取平方要求最后还是有序 977. 有序数组的平方 - 力扣LeetCode 根据题意可以知道最大值肯定出现在数组的左右两侧 所以还是想到用双指针的思路两个指针分别指向数组的开头和结尾然后向中间移动 符合条件的放进新的数组中 public int[] sortedSquares(int[] nums) {int k nums.length - 1; int[] res new int[k1]; //注意数组长度定义for(int i0,jk; ij; ){if(nums[i]*nums[i] nums[j]*nums[j]){res[k--] nums[i] * nums[i];i;}else {res[k--] nums[j] * nums[j];j--;}}return res; }4、⻓度最⼩的⼦数组滑动窗口 209. 长度最小的子数组 - 力扣LeetCode 除了暴力解决还有滑动窗口思路 其实也就是双指针的思路不过是取两个指针中间的一个集合像是一个滑动的窗口 最后目标的长度就是指针2 - 指针1 1 然后需要明确一下两个指针的含义 指针1for循环里面的指针 j 这个是指向这个区间的终止位置的我们的目标是通过对开始位置 指针i 进行操作然后更新最小长度指针2这个用来标记开始位置和指针1结合使用 1、窗⼝的起始位置如何移动如果当前窗⼝的值⼤于s了窗⼝就要向前移动了也就是该缩⼩了。 2、**窗⼝的结束位置如何移动**窗⼝的结束位置就是遍历数组的指针也就是for循环⾥的索引。 解题的关键在于 窗⼝的起始位置如何移动相当于是sum一边吐出之前区间中最开始的数据然后再加上一下个数据之后再利用标记开始位置的指针2再取判断class Solution {public int minSubArrayLen(int target, int[] nums) {int i 0; // 滑动窗⼝起始位置也就是指针2int sum 0; // 滑动窗⼝数值之和int minLen Integer.MAX_VALUE; for(int j 0; j nums.length; j){sum nums[j];while(sum target){int len j - i 1;minLen Math.min(minLen,len);sum - nums[i]; // 这⾥体现出滑动窗⼝的精髓之处不断变更i⼦序列的起始位置i;}}return minLen Integer.MAX_VALUE ? 0 : minLen; // 如果result没有被赋值的话就返回0说明没有符合条件的⼦序列} }5、螺旋矩阵II (知道思路即可有空再练代码) 59. 螺旋矩阵 II - 力扣LeetCode ⾯试中出现频率较⾼的题⽬本题并不涉及到什么算法就是模拟过程但却⼗分考察对代码的 掌控能⼒。 这里容易遇到的问题是 就是因为在画每⼀条边的时候⼀会左开右闭⼀会左闭右闭⼀会⼜来左闭右开岂能不乱。 比如第一次是1、2、3第二次遍历第二条边又成了4、5不包含起始节点了这样就很乱肯定会出问题 int[][] res new int[n][n]; // 使⽤vector定义⼀个⼆维数组 int startx 0, starty 0; // 定义每循环⼀个圈的起始位置 int loop n / 2; // 每个圈循环⼏次例如n为奇数3那么loop 1 只是循环⼀圈矩阵中间的值需要单独处理 int mid n / 2; // 矩阵中间的位置例如n为3 中间的位置就是(11)n为5中间位置为(2, 2) int count 1; // ⽤来给矩阵中每⼀个空格赋值 int offset 1; // 需要控制每⼀条边遍历的⻓度每次循环右边界收缩⼀位 int i,j; while (loop 0) {i startx;j starty;// 下⾯开始的四个for就是模拟转了⼀圈// 模拟填充上⾏从左到右(左闭右开)for (j starty; j n - offset; j) {res[startx][j] count;}// 模拟填充右列从上到下(左闭右开)for (i startx; i n - offset; i) {res[i][j] count;}// 模拟填充下⾏从右到左(左闭右开)for (; j starty; j--) {res[i][j] count;}// 模拟填充左列从下到上(左闭右开)for (; i startx; i--) {res[i][j] count;}// 第⼆圈开始的时候起始位置要各⾃加1 例如第⼀圈起始位置是(0, 0)第⼆圈起始位置是(1, 1)startx;starty;// offset 控制每⼀圈⾥每⼀条边遍历的⻓度offset 1;loop--; } // 如果n为奇数的话需要单独给矩阵最中间的位置赋值 if (n % 2 ! 0) {res[mid][mid] count; } return res;注本篇是跟着代码随想录刷题练习不过是自己的刷题总结使用的刷题语言是Java
http://www.w-s-a.com/news/277576/

相关文章:

  • title 镇江网站建设wordpress 获取用户密码
  • 品牌型网站建设wordpress+js插件开发教程
  • 免费注册微信网站国家企业年审营业执照官网
  • 建设银行网站 无法访问东莞淘宝运营
  • 做家电网站做网站美工需要会什么软件
  • 深圳营销型定制网站开发1000建设银行网站特点分析
  • 安装网站系统重庆知名网站
  • 巴彦淖尔市 网站建设怀化北京网站建设
  • 内部网站管理办法建立网站后台
  • 自学考试网站建设与管理郑州网站建设开拓者
  • 宁夏制作网站公司慈溪建设集团网站
  • 国家企业官方网站查询系统站酷设计网站官网入口文字设计
  • 彩票网站开发制作需要什么wordpress连接微博专业版v4.1
  • 孝感建设银行官网站百度一下你就知道啦
  • 做网站如何做视频广告制作公司简介怎么写
  • 做网站 买空间商务网站内容建设包括
  • 萝岗网站建设为什么点不开网站
  • 惠州网站制作询问薇北京网站建设最便宜的公司
  • 注册网站英语怎么说wordpress 3.8.3
  • 甘肃张掖网站建设网站开发软件是什么专业
  • 海口省建设厅网站网站数据库怎么做同步
  • 做网站建设月收入多少app开发公司广州英诺
  • 新闻播报最新网站优化外包费用
  • wordpress分页出现404最专业的seo公司
  • 连云港网站建设电话连云港市建设局网站
  • 平面设计网站有哪些比较好drupal网站建设 北京
  • 健康资讯网站模板网页价格表
  • 2008发布asp网站宝安建网站的公司
  • 郑州市城市建设管理局网站制作公司网站 优帮云
  • 网站开发 瀑布结构普陀网站建设