当前位置: 首页 > 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.hkea.cn/news/14583843/

相关文章:

  • 建设企业网站个人网银wordpress有多大的数据量
  • 庆阳工程建设网站湖南做网站的公司
  • 吧网站做软件的软件下载医疗设计网站建设
  • 从百万到千万 网站怎么优化wordpress调用ja
  • 网站设计要求有哪些电子商务网站建设技巧
  • 网站开发后乙方把源代码交给甲方手机免费网址
  • dz网站制作优化网站公司外包
  • 通信建设资质管理信息系统网站优化关键词的正确方法
  • 网站专题欣赏专业网站建设组织
  • 手机模板网站下载电子商务seo是什么
  • 长沙本土网站制作公司织梦dedecms蓝色培训机构模板教育学校学院整站php网站源码
  • 做网站怎么别人搜不出来淄博企业网站
  • 外贸网站怎么换域名深圳新生代网络推广
  • html5网站模板免费下载热血传奇网页游戏
  • 优化网站排名怎么制作如何在网上宣传
  • 怎样制作网站电话宜昌企业网站建设
  • 做动态图片的网站吗昆明公司网站开发
  • 可以赚钱做任务的网站乐山企业品牌网站建设
  • 义乌市网站制作网页制作三剑客指的是
  • 宁波优化推广找哪家seo教程培训
  • 宣威做网站建设的公司网站企业管理培训课程
  • 佛山网站建设企业推荐做网站较好的框架
  • 用ps做网站网页惠州百度seo在哪
  • 网站建设的电话销售做网站六安
  • 网站开发专业课程东莞外贸网络营销
  • 专业手机网站建设wordpress文章表格
  • 营销网站做推广公司长安网站建设制作公司
  • 有什么样的网站开发中公it培训机构怎么样
  • 江西那家做网站公司好网站后台账号密码忘记了怎么办
  • 怎么在别人网站上做锚文本链接打字赚钱一单一结app