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

南京电子商务网站建设wordpress 兼容php7

南京电子商务网站建设,wordpress 兼容php7,无锡网页设计培训班,wordpress编辑器添加自定义按钮滑动窗口 要区分最小和最大滑窗,内层while循环的条件和更新结果的地方 核心: 关键的区别在于,最大滑窗是在迭代右移右边界的过程中更新结果,而最小滑窗是在迭代右移左边界的过程中更新结果。 最小滑窗 给定数组 nums&#xff0…

滑动窗口

要区分最小和最大滑窗,内层while循环的条件和更新结果的地方

核心:

关键的区别在于,最大滑窗是在迭代右移右边界的过程中更新结果,而最小滑窗是在迭代右移左边界的过程中更新结果

最小滑窗

给定数组 nums,定义滑窗的左右边界 i, j,求满足某个条件的滑窗的最小长度。

while j < len(nums)://这个while也可用fori代替判断[i, j]是否满足条件while 满足条件:不断更新结果(注意在while内更新!)i += 1 (最大程度的压缩i,使得滑窗尽可能的小)j += 1

L209长度最小的子数组

  • 题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。

    示例:

    输入:s = 7, nums = [2,3,1,2,4,3] 输出:2 解释:子数组 [4,3] 是该条件下的长度最小的子数组。

    提示:

    • 1 <= target <= 10^9
    • 1 <= nums.length <= 10^5
    • 1 <= nums[i] <= 10^5
  • leetcode_209

  • class Solution {// 滑动窗口public int minSubArrayLen(int s, int[] nums) {int left = 0;int sum = 0;int result = Integer.MAX_VALUE;for (int right = 0; right < nums.length; right++) {sum += nums[right];//这里要求的是最小子数组,所以这里的while是满足条件的//然后在while里面最大程度的压缩i(也就是左边界)while (sum >= s) {result = Math.min(result, right - left + 1);sum -= nums[left++];}}return result == Integer.MAX_VALUE ? 0 : result;}
    }
    

最大滑窗

给定数组 nums,定义滑窗的左右边界 i, j,求满足某个条件的滑窗的最大长度。

while j < len(nums):判断[i, j]是否满足条件while 不满足条件:i += 1 (最保守的压缩i,一旦满足条件了就退出压缩i的过程,使得滑窗尽可能的大)不断更新结果(注意在while外更新!)j += 1

L904水果成蓝

  • 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。

    你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果:

    你只有 两个 篮子,并且每个篮子只能装 单一类型 的水果。每个篮子能够装的水果总量没有限制。
    你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果 。采摘的水果应当符合篮子中的水果类型。每采摘一次,你将会向右移动到下一棵树,并继续采摘。
    一旦你走到某棵树前,但水果不符合篮子的水果类型,那么就必须停止采摘。
    给你一个整数数组 fruits ,返回你可以收集的水果的 最大 数目。

  • 白话题目:求只包含两种元素的最长连续子序列

  • class Solution {public int totalFruit(int[] fruits) {int n = fruits.length;Map<Integer, Integer> cnt = new HashMap<Integer, Integer>();int left = 0, ans = 0;for (int right = 0; right < n; ++right) {cnt.put(fruits[right], cnt.getOrDefault(fruits[right], 0) + 1);//注意这里的while是不满足条件的//并且这里统计的ans是在while外面进行更新的!!!!!//这个与上面的最小子数组有着本质区别while (cnt.size() > 2) {cnt.put(fruits[left], cnt.get(fruits[left]) - 1);if (cnt.get(fruits[left]) == 0) {cnt.remove(fruits[left]);}++left;}ans = Math.max(ans, right - left + 1);}return ans;}
    }
    

总结:

  • 第一题让求大于某个数的最小子数组长度

    • while里面最大限度的压缩,只要满足就压缩

    • while的条件是大于某个数(即满足题意),并且while每循环一次就更新一下result的长度

    •         while (sum >= s) {result = Math.min(result, right - left + 1);sum -= nums[left++];}
      
  • 第二题让求最多包含两类(<=2)的最长子序列长度

    • while里面最小程度的压缩

    • while里的条件是大于2(即与题意相反),并且是while结束后进行更新长度ans

    •         while (cnt.size() > 2) {cnt.put(fruits[left], cnt.get(fruits[left]) - 1);if (cnt.get(fruits[left]) == 0) {cnt.remove(fruits[left]);}++left;}ans = Math.max(ans, right - left + 1);
      
http://www.yayakq.cn/news/63878/

相关文章:

  • mui做wap网站wordpress在线课程主题
  • 网站开发员名称是什么wordpress文章html页面模板
  • 已有网站开发app怎么在静态网站基础上加动态
  • 玉树州wap网站建设公司wordpress注册邮箱验证
  • 重庆一站式建设网站平台个人网站备案流程和规则
  • 网站建设前分析网站301如何做
  • 兰州网站建设优化推广wordpress微信支付模板
  • 网站建设必须提供良好的用户体验好商网
  • 旅游网站首页设计图片网页网站设计公司有哪些
  • jsp的网站建设网站自学
  • 做狗狗网站的背景图怎做网站手机
  • html网站开发教程app和手机网站
  • 余姚做网站的公司网页制作软件属于应用软件吗
  • 广州专业的网站建设公司排名军事新闻内容摘抄
  • 怎样拍照产品做网站php网站开发实训感想
  • 网站开发工程师工资hangq优惠建网站
  • 网站页头云南网站新备案制
  • 郑州达云通网站建设公司wordpress文章分类设置
  • 好看的网站分享wordpress瀑布流网店
  • 网站工作状态建设做公司集团网站
  • 天河网站建设哪家好怎么给新网站做推广
  • 如何修改网站备案信息色彩搭配比较好的网站
  • 零食网站建设前的市场分析查看网站空间大小
  • 做个网站应该怎么做苏州工业园区发布
  • 专业做财务公司网站手机做ppt的软件
  • 电子创意设计网站百度电商推广
  • 规划电子商务网站流程阿里云网站的logo怎么写进去的
  • 网站建设公司排黄页网
  • 龙采网站建设施工企业会计课后答案
  • 完美建设工程有限公司网站二维码怎么在网站上做推广