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

信阳建设网站培训学校类网站建设方案1

信阳建设网站,培训学校类网站建设方案1,正规货源网站大全,遵义网站制作外包题目 给定一个正整数数组 nums和整数 k #xff0c;请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums [10,5,2,6], k 100输出: 8解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2]…题目 给定一个正整数数组 nums和整数 k 请找出该数组内乘积小于 k 的连续的子数组的个数。 示例 1: 输入: nums [10,5,2,6], k 100输出: 8解释: 8 个乘积小于 100 的子数组分别为: [10], [5], [2], [6], [10,5], [5,2], [2,6], [5,2,6]。 需要注意的是 [10,5,2] 并不是乘积小于100的子数组。 示例 2: 输入: nums [1,2,3], k 0输出: 0 提示:  1 nums.length 3 * 1041 nums[i] 10000 k 106 解题思路 前置知识 滑动窗口 1滑动窗口可以用以解决数组/字符串的子元素相关问题并且可以将嵌套的循环问题转换为单循环问题从而降低时间复杂度。故滑动窗口算法的复杂度一般为 O(n)。 2滑动窗口的基本思想如下 首先使用双指针维护一个子数组别称为 left 和 right。left 指向窗口的左端点right 指向窗口的右端点。如下图所示   窗口随着 right 指针向右滑动开始遍历整个数组区间即增大窗口 而在每次迭代内部即针对每一次 right要对子数组区间是否满足要求进行判断。如果子数组区间不能够满足条件则将 left 指针向右移动即缩小窗口这样窗口就实现了向右滑动。 知道了滑动窗口后我们来看一下这道题 1.题目要求我们求出 数组内乘积小于 k 的连续的子数组的个数一般求解子数组这类题我们都会用到滑动数组这道题也不例外 2.首先我们设置好要用到的变量curr 用来存放子数组的乘积sum 用来统计符合条件的子数组的个数i 作为滑动窗口中窗口的左边界。 3.我们for循环对数组进行遍历每当 j 遍历一个元素后就把它乘进 curr 中然后用while循环去判断这个滑动窗口内的乘积是否大于k若大于k 我们就将滑动窗口最左边的一个元素从curr中除去并将滑动窗口的左边界向右移动一个直到滑动窗口内的乘积小于k我们就把结果加到sum中注意这里的 right - left 1 就是以当前窗口右界为最后一个元素的连续子序列的个数。这么做的道理是这样的。如果一个长度为 n 的序列中的任意长度连续子序列都满足要求那么这些子序列可以无重复无遗漏地划分为 n 组组内子序列尾元素相同组间尾元素互异。 举个例子 思路: 设存在数组nums[A, B, C, D], k为乘积, count为符合条件的数组个数, i,j为窗口左右边界;*(假设) A: Ak ij0 -- count A (0-01)* B: ABk j1 -- count AB, B(1-01)* C: ABCk j2 -- BCk i1 -- count BC, C (2-11)* D: BCDk j3 -- CDK i2 -- D k i3 -- count D (3-31)* 当计算的数组乘积大于k时将窗口左边界右移, 直到小于k, 计算count窗口右边界右移* 当计算的数组乘积小于k时计算count窗口右边界右移* 得出规律每一次遍历count增加了j-i1 4.最后返回sum即可。 代码实现 class Solution {public int numSubarrayProductLessThanK(int[] nums, int k) {int n nums.length;int curr 1, sum 0, i 0; for(int j 0; j n; j){curr * nums[j];while(i j curr k ){curr / nums[i];i;}sum j - i 1;}return sum;} } 测试结果 hh
http://www.hkea.cn/news/14481367/

相关文章:

  • 建设网站的情况说明python生成网页
  • 石家庄网站外包公司郑州大型网站建设
  • 好的提升设计师网站抄袭的网站
  • 网站布局介绍番禺营销型网站建设
  • 优质网站的衡量标准微信小程序在哪里找?
  • 网页设计制作音乐网站番禺网站建设公司有哪些
  • 淘宝有做钓鱼网站的吗后端低代码平台
  • vs网站怎么做wordpress 页面连接
  • 网站建设市场调查报告网站建设必学课程
  • 文章发布在哪个平台好名风seo软件
  • 广州哪个公司做网站wordpress支付插件绿色
  • 临沂网站制作定制智慧团建登录
  • 镇江网站制作公司全国装修公司前50强
  • 什么是建设网站问答类网站开发
  • 怎样做婚庆网站深圳注册公司注册资金要求
  • 网站浏览成交指标企业微信平台
  • 福田网站建设福田网站设计网络服务示范区创建情况
  • 北京网站设计联系电话中国广告公司前十强
  • 海洋网络网站建设图片在线制作表情
  • seo比较好的网站在凡客建站中建设网站方法
  • 工信部网站域名查询wordpress图片太多
  • 一个月做网站上海元山建设有限公司网站
  • 手机网站是用什么开发的网站生成手机版
  • 做网站一般都用什么字体线下销售怎么做推广
  • 建设信用卡网站登录如何制作纯静态网站
  • 摄影网站投稿石家庄新闻综合频道官网
  • 创建一个网站流程图3d效果图制作教程
  • 公司网站 用 个人备案域名上海市网站建设
  • 怎样给网站做图标seo待遇
  • 门户网站建设和运行保证的磋商文件肇庆建设网站