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

网站怎么利用朋友圈做推广微网站是什么意思

网站怎么利用朋友圈做推广,微网站是什么意思,重庆有什么好玩的旅游景点,龙岩北京网站建设🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷…

在这里插入图片描述

🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀

🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷于探索一些框架源码和算法技巧奥秘,还乐于分享这些宝贵的知识和经验。

💡 无论你是刚刚踏入编程世界的新人,还是希望进一步提升自己的资深开发者,在这里都能找到适合你的内容。我们共同探讨技术难题,一起进步,携手度过互联网行业的每一个挑战

📣 如果你觉得我的文章对你有帮助,请不要吝啬你的点赞👍分享💕和评论哦! 让我们一起打造一个充满正能量的技术社区吧!


目录标题

      • 题目
      • 问题分析
      • 解决方案步骤
      • Java实现代码
      • 代码解析
      • 复杂度分析


题目

输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,找到一个具有最大和的连续子数组。

  1. 子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组
  2. 如果存在多个最大和的连续子数组,那么返回其中长度最长的,该题数据保证这个最长的只存在一个
  3. 该题定义的子数组的最小长度为1,不存在为空的子数组,即不存在[]是某个数组的子数组
  4. 返回的数组不计入空间复杂度计算

要解决这个问题,我们可以使用一种经典的算法,称为Kadane’s Algorithm,用于找到具有最大和的连续子数组。接下来,我们将结合题目的要求来实现这个算法。

问题分析

  1. 最大和子数组:我们需要遍历数组并维护当前子数组的和,同时更新最大和。
  2. 长度管理:在更新最大和时,我们需要记录对应的子数组的长度,以确保在出现相同最大和时选择长度最长的子数组。
  3. 边界条件:需要注意数组至少有一个元素的情况。

解决方案步骤

  1. 初始化当前和和最大和。
  2. 遍历数组,更新当前和。
  3. 如果当前和小于零,重置当前和和长度。
  4. 在每次更新最大和时,记录当前子数组的长度。
  5. 返回最大和的子数组及其长度。

Java实现代码

public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** @param array int整型一维数组 * @return int整型一维数组*/public int[] maxSubArray(int[] array) {int n = array.length;if (n == 0) return new int[0]; // 不应该发生,题目假定至少一个元素int maxSum = Integer.MIN_VALUE; // 最大和int currentSum = 0;              // 当前和int maxLength = 0;               // 最大和子数组的长度int currentLength = 0;           // 当前子数组的长度int startIndex = 0;              // 记录最大和子数组的起始索引int tempStartIndex = 0;          // 记录当前子数组的起始索引for (int i = 0; i < n; i++) {currentSum += array[i];currentLength++;// 更新最大和及其长度if (currentSum > maxSum) {maxSum = currentSum;maxLength = currentLength;startIndex = tempStartIndex;} else if (currentSum == maxSum) {// 如果当前和等于最大和,比较长度if (currentLength > maxLength) {maxLength = currentLength;startIndex = tempStartIndex;}}// 如果当前和小于零,重置if (currentSum < 0) {currentSum = 0;currentLength = 0;tempStartIndex = i + 1; // 更新起始索引}}// 构造结果数组int[] result = new int[maxLength];for (int i = 0; i < maxLength; i++) {result[i] = array[startIndex + i];}return result;}
}

代码解析

  1. 初始化变量

    • maxSum 用于存储最大和,初始值设为 Integer.MIN_VALUE 以处理负数情况。
    • currentSum 用于记录当前子数组的和。
    • maxLengthcurrentLength 分别用于记录最大和子数组的长度和当前子数组的长度。
    • startIndextempStartIndex 用于追踪子数组的起始位置。
  2. 遍历数组

    • 对于每个元素,更新 currentSumcurrentLength
    • 检查当前和是否大于最大和,如果是,更新最大和及其长度。
    • 如果当前和小于零,重置当前和和长度,并更新子数组的起始位置。
  3. 返回结果

    • 根据 startIndexmaxLength 构造最终的子数组并返回。

复杂度分析

  • 时间复杂度:(O(n)),只需遍历一次数组。
  • 空间复杂度:(O(1))(不计返回的结果数组)。

这种方法既高效又满足题目的所有要求。如果你有任何其他问题或需要进一步的帮助,请告诉我!

乐于分享和输出干货的WXGZG:JavaPersons

http://www.yayakq.cn/news/258384/

相关文章:

  • 关于建设 网站的请示小程序模板多少钱
  • 网站手机验证码注册怎么做外贸网站建设 广州
  • dede网站源码打包下载有没有做任务给钱的网站
  • 我的网站域名是什么互联网+体育消费
  • 义乌企业网站搭建首选平面设计培训平台
  • 怎样建设网站空间wordpress自动推送
  • 上传网站的三种方法医院网站建设的计划
  • 临沂网站设计价格动画设计专业介绍
  • 公司网站开发费用大概多少全网视频合集网站建设
  • 网站排版的优点专业做棋牌网站的
  • 网站相互推广怎么做东莞专业网站推广策划
  • 招聘网站建设的意义网站建设免费建站
  • 上海网站科技wordpress宾馆
  • 电商网站建设工具软件开发的阶段
  • 音乐网站用什么语言做一站式服务宣传语
  • 手机网站一般多宽温州快速网站建设排名
  • 好站站网站建设企业信息系统查询
  • 万维网网站域名续费北京做网站的大公司
  • 个人作品网站策划书在自己电脑建设网站
  • 网站更新与维护网站分页符素材
  • 房地产交易网站模版博客做单页网站
  • 聊城做网站的公司咨询网站制作公司茂名
  • 烟台电子商务产业园网站建设温州seo关键词
  • 深圳网站设计有哪些wordpress搭建外贸网站
  • 企业做网站算办公费用吗seo的推广技巧
  • 东莞智通人才网最新招聘信息郑州互联网seo使用教程
  • 去国外做外卖网站好安阳 网站建设
  • 新乡市建设局网站建筑设计经典案例分析
  • 做网站如何选择关键词微信营销网站模板
  • 织梦小说网站模板下载网站整合建设方案