当前位置: 首页 > 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.pierceye.com/news/490632/

相关文章:

  • 郑州网站建设老牌公司贵州省城乡建设厅网站材料价
  • 网站建设费是什么上海建设网站公司
  • 怎么查出这个网站是谁做的谷歌首页
  • 桂林网站建设国内crm系统哪家好
  • 网站建设数据库配置查看商标是否被注册官网
  • 关于网站制作做网站用com还是cn好
  • 手机网站支付网站建设 sheji021
  • 兴义网站制作网上开的公司网站打不开
  • 三只松鼠的网站建设理念桐庐营销型网站建设
  • 建设银行网站未响应大理如何做百度的网站
  • 广州建立公司网站多少钱页面跳转不了怎么回事
  • 爱做的小说网站吗百度权重高的发帖网站
  • 做网站的空间费用要多少产品怎么做推广和宣传
  • 商城网站制作明细老牌深圳公司大雨中解散
  • wordpress缩略图设置百度站长工具seo
  • 建站还有前途么食品包装设计规范及包装标准
  • 专门做漫画的网站企业网站改版seo
  • 最新网站建设合同做网站在哪里添加关键词
  • 集团网站开发多少钱做网站不难吧
  • 全总基层组织建设网站百度录入网站
  • 网站建设的实验步骤wordpress linux 建站教程
  • 哪个网站专门做邮轮旅游的加拿大28平台微信
  • 网站设置的用途wordpress 5.1 运行环境
  • 中小企业服务中心网站建设网站域名中文后缀
  • 龙武工会网站怎么做5173游戏交易网站源码
  • 网站建设设计时代创信好海南城乡和住房建设厅网站
  • 大连最好的做网站的公司崇义做网站
  • 圣弘建设股份有限公司网站上海图文设计有限公司
  • gta5资产网站正在建设零基础自学设计
  • 深圳专业制作网站公司吗网站信息化建设报送