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

分布式移动网站开发技术免费网站自助建站系统

分布式移动网站开发技术,免费网站自助建站系统,宜春网站建设公司哪家好,门户网站开发工具大脑里的第一想法是排列组合,直接给出超级准确的最优解。 但不适用,hhh 只要连续的n个元素大于或者等于target就可以了 题目比自己想象的要好解决 解法是使用滑动窗口算法。这个算法的基本思想是维护一个窗口,使得窗口内的元素总和大于等于目…

 

      大脑里的第一想法是排列组合,直接给出超级准确的最优解。

        但不适用,hhh

        只要连续的n个元素大于或者等于target就可以了

        题目比自己想象的要好解决

        解法是使用滑动窗口算法。这个算法的基本思想是维护一个窗口,使得窗口内的元素总和大于等于目标值,然后尝试缩小窗口以找到最小的满足条件的子数组。

Python

class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:n = len(nums)ans = n + 1start = 0end = 0total = 0while end < n:total += nums[end]while total >= target:ans = min(ans, end - start + 1)total -= nums[start]start += 1end += 1return 0 if ans == n + 1 else ans

C#

public class Solution {public int MinSubArrayLen(int target, int[] nums) {int n = nums.Length;int ans = n + 1;int start = 0;int end = 0;int total = 0;while (end < n) {total += nums[end];while (total >= target) {ans = Math.Min(ans, end - start + 1);total -= nums[start];start++;}end++;}return ans == n + 1 ? 0 : ans;}
}

        解法的时间复杂度是O(n),因为每个元素最多被访问两次。

二分查找法

        在这个问题中,O(n)的滑动窗口解法已经是最优解法,因为它只需要遍历一次数组。然而,如果你想要实现一个O(n log n)的解法,你可以使用二分查找的方法。这种方法的基本思想是先计算累积和数组,然后对每个累积和,使用二分查找找到最小的索引j,使得sum[j] - sum[i] >= target。

        以下是这个方法的Python实现:

Python

import bisectclass Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:n = len(nums)ans = n + 1sums = [0] * (n + 1)for i in range(1, n + 1):sums[i] = sums[i - 1] + nums[i - 1]for i in range(1, n + 1):to_find = target + sums[i - 1]bound = bisect.bisect_left(sums, to_find)if bound != len(sums):ans = min(ans, bound - (i - 1))return 0 if ans == n + 1 else ans

C#

public class Solution {public int MinSubArrayLen(int target, int[] nums) {int n = nums.Length;int ans = n + 1;int[] sums = new int[n + 1];for (int i = 1; i <= n; i++) {sums[i] = sums[i - 1] + nums[i - 1];}for (int i = 1; i <= n; i++) {int to_find = target + sums[i - 1];int bound = Array.BinarySearch(sums, to_find);if (bound < 0) {bound = ~bound;}if (bound <= n) {ans = Math.Min(ans, bound - (i - 1));}}return ans == n + 1 ? 0 : ans;}
}

http://www.ho-use.cn/article/3488.html

相关文章:

  • 济南做企业网站公司关键词什么意思
  • 仿制别人的竞价网站做竞价犯法吗长沙专业竞价优化公司
  • 网站建设的主流架构有哪些电商怎么推广自己的产品
  • 自己录入数据做问卷的网站自动推广软件免费
  • 北京电商网站开发费用百度下载
  • 有用node.js做的网站吗最近新闻报道
  • 服务关系型网站怎么做指数函数和对数函数
  • 网站建设的公司上海淘宝seo是什么意思啊
  • 中山地区做网站公司长春seo快速排名
  • 小程序有做门户网站中文域名的网站
  • 彩票站自己做网站app营销十大成功案例
  • angularjs 做的网站百度的电话人工客服电话
  • html5移动端手机网站开发流程打开百度一下的网址
  • 有没有做淘宝首页特效的网站网页seo搜索引擎优化
  • dw做的网站怎么上传微信公众号推广
  • 虎门网站建设欧美seo查询
  • 关于平面设计的网站免费com域名申请注册
  • 网站建设草图今天的热点新闻
  • 网站建设宣传语今日新闻最新头条
  • 建个网站做网络推广要花多少钱湖北百度seo
  • 怎样创建个人购物网站公关公司的主要业务
  • 广东网站制作平台seo优化外包公司
  • 微信手机网站搭建什么是网站外链
  • 北京市住房及城乡建设网站百度灰色关键词技术
  • 深圳vi设计公司深圳logo设计淘宝优化
  • 雁塔网站建设软文生成器
  • 一站式做网站系统站长工具日本
  • wordpress网站好慢网络整合营销案例
  • 北京网站建设企业网站制作网站注册页面
  • dw 做的网站能用吗东莞百度seo推广公司