当前位置: 首页 > 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/14373041/

相关文章:

  • 网站建设包含以下哪些建设阶段大连投诉网站
  • 手机网站底部漂浮代码电子商务网站建设首要问题是
  • 原则网站设计版式建筑安全员c证查询官网
  • 英文网站建设 淮安wordpress 后台登陆美化
  • 沈阳网站推广公司排名公司部门结构图
  • 网站建设经验与团队网页设计与网站建设完全实用手册
  • 资源网站快速优化排名wordpress 主页面错乱
  • 用织梦做的学校网站云南建站推广
  • 网页翻译俄文西安网站seo外包
  • 商城类网站能做响应式设计吗民宿网站建设方案
  • 寺院的网站怎么做物流企业网站建设与管理规划书
  • 东莞网站制作实力乐云seowordpress 5图片相对路径
  • 为了 门户网站建设没有营业执照 怎么做网站
  • 做网站需要了解什么wordpress 换模板
  • 电子邮箱怎么注册seo专员是干什么的
  • 设计数码产品宣传网站php怎么连接wordpress
  • 我现在有域名怎么做网站视频类网站建设的成果
  • 服装商城网站源码谁会在掏宝网上做网站
  • 网站建设找宙斯站长工具asp网站怎么运行
  • 网站建设开发方式包括哪些方面wordpress新建页面无法选择模板
  • 不要网站域名东莞网站定制开发
  • 一级a做爰片免费视频网站做网站的总是有活动怎么回事
  • 市级档案网站建设情况分析爱有声小说网站捡个校花做老婆
  • 佛山规划建设局网站潍坊专业输送带产品介绍
  • 蒙古文网站建设wordpress 无法找到该页
  • 做信誉认证对网站有什么好处app项目开发教程
  • 网站主页和子页风格如何统一性价比最高的网站建设
  • 大神自己做的下载音乐的网站百度搜索热度指数
  • 免费网站推广网站不用下载西安网络营销学习网站
  • discuz 仿h5 网站模板南宁小程序定制开发