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

微信微网站制作教程百度快照投诉中心人工电话

微信微网站制作教程,百度快照投诉中心人工电话,哪些网站适合新手编程做项目,wordpress如何套用模板209.长度最小的子数组 题目链接:长度最小的子数组 文档讲解:代码随想录文章讲解 视频讲解:代码随想录视频讲解 1.思路:要获取的满足>target的最小数组长度,使用滑动窗口 1.定义左指针,只有当满足条件的…

209.长度最小的子数组

题目链接:长度最小的子数组

文档讲解:代码随想录文章讲解

视频讲解:代码随想录视频讲解

 1.思路:要获取的满足>=target的最小数组长度,使用滑动窗口 
  • 1.定义左指针,只有当满足条件的时候才去移动左指针 
  • 2.定义总和sum=0,minLength因为要取最小的,所以一开始设置成一个较大的值
  •  3.遍历集合,right充当右指针, sum +nums[right] 
  • 4.满足条件的时候,while循环 {计算当滑动窗口的大小,移动左指针, sum-nums[left]}
 2.代码:
public int minSubArrayLen(int target, int[] nums) {int minLength=Integer.MAX_VALUE;//用于记录做左窗口int left=0;//记录总的相加和int sum=0;//充当右指针for (int i = 0; i < nums.length; i++) {sum += nums[i];//使用while,因为会出现即使去掉左窗口后,仍然比target大的情况//eg: [1 3 7 1 1] target=7 left=0 right=2,此时窗口内数据有1 3 7,//去掉1后仍然大于目标值,所以这里是需要while循环判断的while (sum >= target) {//记录当前数组的长度minLength=Math.min(minLength,i-left+1);//减掉左窗口值sum-=nums[left];//左窗口移动left++;}}//当其=Integer的最大值时,说明没有满足条件的,返回0return minLength==Integer.MAX_VALUE?0:minLength;}

59.螺旋矩阵II

题目链接:螺旋矩阵II

文档讲解:代码随想录文章讲解

视频讲解:代码随想录视频讲解

 1.思路:
  •  1.循环的次数,我们遍历一次是顺时针遍历,从左到右,从上到下,从右到左,从下到上这样一圈, 一圈是2行,总共是n行,所以说需要遍历的次数是n/2
  •  2.循环中,变量的初始值和最终值,每次循环初始值都是递增的,最终值要明确边界点的获取,严格按照左闭右开[left,right)
  •  3.循环中,明确循数组中行和列哪一个在变化,哪一个保持不变,想不明白写一个二维数组  
  • 4.一圈结束后,起始位置 startX++,startY++,圈数circle++,边界值offset++,下次循环时,循环变量初始值是根据初始位置变化的,变量最终值是根据offset递减的 * 5.注意考虑到n是奇数的情况,循环结束后,还有一个中心元素的赋值
首先明确二维数组,n是偶数i\j j=0     j=1    j=2    j=3i=0 [0][0] [0][1] [0][2] [0][3]i=1 [1][0] [1][1] [1][2] [1][3]i=2 [2][0] [2][1] [2][2] [2][3]i=3 [3][0] [3][1] [3][2] [3][3]首先明确二维数组,n是奇数i\j j=0     j=1    j=2i=0 [0][0] [0][1] [0][2]i=1 [1][0] [1][1] [1][2]i=2 [2][0] [2][1] [2][2]
 2.代码:
 public int[][] generateMatrix3(int n) {int[][] res=new int[n][n];//起始位置int startX=0;int startY=0;//记录每次遍历少遍历的数据个数int offset=1;//当前循环的圈数int circle=1;//数组存放的值int count=1;int i ,j;//while (circle<=n/2){//从左往右遍历//1.j 的初始值不能写成0,因为在第一次遍历的时候,j=0,但是在后续遍历时,j的初始值并不是0了,而是随着startY变换的//eg 第一圈(0,0),第二圈(1,1)//  j 的最终值,遵循作左闭又开原则,列(j)不能取到最右边的元素(以上面的二维数组为例:0 1 2 )//2.数组中列(j)的值是一直在变化的,行(x)的值是固定的for ( j = startY; j <n-offset ; j++) {res[startX][j]=count++;}//从上往下遍历//1.i的初始值,需要跟着startX变,i的最终值,遵循左闭右开原则,行不能取到最下面的值(0 1 2 )//2.数列中行(i)是一直在递增的,列(j)是不变的:从左往右遍历后的jfor ( i = startX; i < n-offset  ; i++) {//j是不变的,上面循环的最后值res[i][j]=count++;}//从右向左遍历// j不用在定义初始值,j是由上次递增的结果开始递减的,j的最终值,遵循左闭右开原则,不能取到startXfor ( ; j >startX ; j--) {//x是不变的,上面循环的最后值res[i][j]=count++;}//从下往上遍历// x不用定义初始值,x是由上次递增的结果开始递减的,x的最终值,遵循左闭右开原则,不能取到startYfor (;  i>startY ; i--) {//j是不变的res[i][j]=count++;}//一层循环遍历结束startX++;startY++;offset++;circle++;}//当是奇数时,中心位置还有一个元素,需要对其进行赋值,// eg:n是奇数时(上面二维数组)遍历结束后,中间位置[1,1]还没有被赋值if(n%2==1){res[startX][startY]=count;}return  res;}

误区:一开始把数组的行和列的赋值和数学中的x轴和y轴抓混了,以为行数据是(0,0)

(1,0),导致for循环赋值报错,建议可以写一个例子

         for循环的变量的起始值写成了0,虽然第一次循环的时候是正确的,但是在后续循环

中,初始值是不对的

注:这道题细节太多了,后续需要重新刷!!1

http://www.wangmingla.cn/news/107977.html

相关文章:

  • 查法人信息的网站网络营销的六大功能
  • 建设银行深圳分行网站微信广告投放收费标准
  • 网站建设是那个行业一键制作免费网站的app
  • 门户网站开发费怎做账seo产品是什么意思
  • 电商详情做的最好看的网站如何自己开发网站
  • 自已建设网站流程游戏推广渠道有哪些
  • 网站建设为风险分析不能搜的超级恶心的关键词
  • 福建省建设法制协会网站百度公司官网首页
  • 网站打开速度慢wordpress综合搜索引擎
  • 网站域名注册商标有什么好处软文营销的作用
  • 昆明网站排名优化费用在线一键生成网页
  • 教育营销型的网站建设个人网站源码免费下载
  • wordpress应用app主题seo外链专员工作要求
  • 上海网站公司哪家好seo引流什么意思
  • 建站宝盒建网站广告网络
  • 买了网站 怎么做呢百度客服人工电话
  • 网站建设的思想合肥网络推广软件
  • vps可以同时做ss和网站吗百度排名
  • 政府网站开发源码淘宝seo搜索排名优化
  • 建行网站是多少呢百度电脑版网页版
  • 有哪些做应援的网站免费涨粉工具
  • 免费网页源码seo自媒体运营技巧
  • 项目驱动式网页设计与制作教程吉安seo网站快速排名
  • 建设局跟住建局一样吗seo按天计费系统
  • wordpress和the7主题的关系seo网站优化知识
  • 怎么做代刷网站临沂森拓网络科技有限公司
  • 小说网站做公众号好还是网站好长沙网站seo排名
  • 电商网站制作价格网络营销推广公司名称
  • 正规网站建设价格实时热榜
  • 做黄色网站多少年今日头条收录入口