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

做网站php都用什么框架自己怎么创建一个网站

做网站php都用什么框架,自己怎么创建一个网站,邢台手机网站建设服务,ASP JSP动态网站开发#达标子数组# 求达标子数组的数量 * 题目:给定一个数组,求满足子数组中最大值-最小值小于等于某个数的子数组的数量 * 例如[0,1,2,3]中求子数组中最大值-最小值小于等于 2的子数组的数量 * 结果为9,因为满足条件的只有[0,0] [0,1] [0,2] [1,1] [1,2] [1…

#达标子数组#

求达标子数组的数量
* 题目:给定一个数组,求满足子数组中最大值-最小值小于等于某个数的子数组的数量
* 例如[0,1,2,3]中求子数组中最大值-最小值小于等于 2的子数组的数量
* 结果为9,因为满足条件的只有[0,0] [0,1] [0,2] [1,1] [1,2] [1,3] [2,2] [2,3] [3,3]

题目对应的代码如下:

首先讨论暴力解,这种解法特别容易想,就是把所有的子数组进行枚举,例如:0~0,0~1,0~2,0~3, 0~4...2~2,2~2,2~3,2~4...然后依次找到每个子数组的最大值和最小值,根据二者之差判断是否达标,如果达标则总的数量加1,两层for循环的时间复杂度是O(N^2),面试场没分

重点讨论第二种解法,也是本题的重要考察点:滑动窗口,对于滑动窗口解法来说,每个位置最多进一次窗口,也最多出一次窗口,所以时间复杂度是O(N),这个已经是最好的解法了,你不可能所有的位置都没看完就找到所有答案

public class AllLessNumSubArray {/*** 暴力解,百分百正确,但是面试场上没分*/public static int right(int[] nums, int limit) {if(nums == null || nums.length == 0 || limit < 0) {return 0;}int result = 0;for(int i = 0; i < nums.length; i++) {int max = nums[i];int min = nums[i];for(int j = i; j < nums.length; j++) {max = Math.max(max, nums[j]);min = Math.min(min, nums[j]);if(max - min > limit) break;if(max - min <= limit) result ++;}}return result;}public static int better(int[] nums, int limit) {//不满足基本的条件,返回0个if(nums == null || nums.length == 0 || limit < 0) {return 0;}//数组的长度int N = nums.length;//创建最大值和最小值窗口,使用双端队列LinkedList<Integer> min = new LinkedList<>();LinkedList<Integer> max = new LinkedList<>();//L和R都从0开始,形成的区间是[L,R]左开右闭int R = 0;int L = 0;//最终结果统计int result = 0;//L,R的边界都是小于N,都是不回退的while(L < N) {while(R < N) {//如果当前最小值窗口中有数字大于要进去的R的位置的数字,依次弹出while(!min.isEmpty() && nums[min.peekLast()] >= nums[R]) {min.pollLast();}//R入最小值窗口min.addLast(R);//如果当前最大值窗口中有数字小于要进去的R的位置的数字,依次弹出while(!max.isEmpty() && nums[max.peekLast()] <= nums[R]) {max.pollLast();}//R入最小值窗口max.addLast(R);//当前窗口最大值-最小值如果不满足《=limit,终止,//如果满足条件R继续++,R是以L下标开始第一个不满足条件的if(nums[max.peekFirst()] - nums[min.peekFirst()] > limit) {break;} else {R++;}}//因为L马上要进行L++操作了,所以L位置马上过期,如果最大值或者最小值窗口的头部是L,则弹出头部if(max.peekFirst() == L) {max.pollFirst();}if(min.peekFirst() == L) {min.pollFirst();}//R是以L为起点的子数组中第一个不满足max-min<=limit的节点,所以数量加上(R - L)result += (R - L);L++;}return result;}}

http://www.tj-hxxt.cn/news/127004.html

相关文章:

  • 宾爵手表官方网站广告公司接单软件
  • 做空港币人民币网站seo优化方案案例
  • 几个网站一个空间 怎么做邮箱网站开发软件
  • 汕头windows优化大师是什么软件
  • 没有网站也可以做外贸吗东莞网络科技公司排名
  • 做网站制作网络优化公司排名
  • 网页设计怎么做网站网站批量查询
  • 医药网站如何做网络推广百度手机助手app免费下载
  • 做网站在哪接单怎么做seo信息优化
  • 学生做任务赚钱的网站嘉兴seo报价
  • 潜江做网站哪家好广州关键词优化外包
  • 云南省建设厅网站舉報百度手机应用商店
  • 南京建网站公司高端网站定制开发
  • 飞天侠调用wordpress开封网站快速排名优化
  • 建筑网站图片网络优化工程师吃香吗
  • 在线教育网站设计熊猫关键词挖掘工具
  • 郑州网站建设公司哪家好5118站长网站
  • 移动商务网站开发课程太原seo软件
  • wordpress 文章发布 编辑器杭州专业seo
  • 重庆企业网站建设价格互联网营销的特点
  • 艺术设计教学资源网站建设标准竞价推广什么意思
  • 东莞高端网站建设多少钱地推推广方案
  • 阿里云可以做网站么企业培训考试系统app
  • 毕业设计题目怎么选题东莞整站优化
  • 深圳做外贸网站公司成都百度推广
  • 提供网站建设服务的网站价格企业网站建设原则是
  • 公司做网站怎么赚钱河南郑州最新消息今天
  • 汕头多语种网站制作个人怎么在百度上做推广
  • 大连网站建设优化网络营销的成功案例分析
  • 网站制作com免费发布网站seo外链