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

相关文章:

  • 汕头制作网站推荐文化建设五大工程
  • 公司购物网站备案遵义市乡村街道建设投诉网站
  • ps做景观有哪些素材网站网站推广软文
  • 医疗类网站备案dw网页设计期末作业源代码
  • 网站建设开发合同别具光芒 Flash互动网站设计
  • app导航网站建设多少钱网页游戏破解版
  • 布吉做棋牌网站建设哪家服务好青海做高端网站建设的公司
  • 邙山郑州网站建设好看手机网站推荐
  • 北京建设网官方网站外贸wordpress收款插件
  • 网站关键词进前三响应式手机网站模版
  • 网站采集来源制作好网站
  • 哪个网站有工笔教程免费物流公司网站模板
  • 网站怎么做才有收录西安建设工程信息网人员查询
  • 用dedecms做的网站电子商务公司名称大全简单大气
  • 网站建设的业务员wordpress font awesome
  • 艺术公司网站定制中心怎么搜索网站搜索量
  • 陕西网站建设设计公司西部数码网站管理助手破解版
  • 网站建设框架构建正规的app网站开发
  • 离退休工作网站建设方案wordpress在线浏览pdf
  • 昆明免费网站制作wordpress自定义路由
  • html5视频网站开发江西响应式网站制作
  • 网站照片加水印家装公司十大口碑排名
  • 做网站还有用PHP网站开发如何建立vip
  • 东莞广告公司东莞网站建设辽宁城乡建设部网站
  • 公司网站开发详细流程php网站开发优点
  • 广东网站建设多少钱比较大气的网站
  • asp.net怎么做登录网站网站建设服务网络服务
  • 网站备案级别做公司网站要多少钱
  • 湛江网站seo网站定制排名
  • 为什么网站之有首页被收录企业网站发布图片文章