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

360网站卫士代备案流程湖南省建六公司官网

360网站卫士代备案流程,湖南省建六公司官网,网站开发 ssh 菜鸟,微信小程序如何运营推广一. 简介 本文记录力扣网上涉及数组方面的编程题,主要以 C语言实现。 二. 力扣上C语言编程题:最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其…

一. 简介

本文记录力扣网上涉及数组方面的编程题,主要以 C语言实现。

二. 力扣上C语言编程题:最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

是数组中的一个连续部分。

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

示例1:

输入: nums = [-2,1,-3,4,-1,2,1,-5,4]

输出:6

解释:连续子数组为 [4, -1, 2, 1] 的和最大,其和为 6

示例2:

输入: nums = [1]

输出:1

解题思路:

使用贪心解法。什么是贪心解法?

“贪心解法”(Greedy Algorithm)是一种在算法设计中常用的策略,它通过每一步选择当前状态下局部最优解(即最有利的选择),期望通过这样的方式最终得到全局最优解。

贪心算法的核心是:每一步都做出局部最优的选择,希望通过局部最优解达到全局最优解。

局部最优:当前 “连续和” 为负数时立刻放弃,从下一个元素重新计算 “连续和” ,因为负数加上下一个元素 “连续和”只会越来越小。

全局最优:选取最大“连续和”

具体方法:

(1) 遍历数组,如果前面数组和小于 0,则从 nums[i] 开始重新新一轮求和计算;(因为数组和为负数时,再加下一个元素,只会让总和变小,即都会加重负担);

(2) 每次记录数组和的最大值;

C代码实现如下:

int maxSubArray(int* nums, int numsSize) {if ((!nums) || (numsSize == 0)) {return -1;}int i = 0;int prev_sums = nums[0];int max_sums = nums[0];//下标从1开始遍历for(i = 1; i < numsSize; i++) { if(prev_sums < 0) { //如果前面数组和小于0,则从nums[i]重新开始计数prev_sums = nums[i];}else { //前面数组和 >=0,则继续加nums[i]prev_sums = prev_sums + nums[i];}//每次更新子数组和的最大值if(prev_sums > max_sums) {max_sums = prev_sums;}}return max_sums;
}

http://www.dtcms.com/wzjs/532777.html

相关文章:

  • 怎样自己建设一个网站网站公司怎么做
  • p2p网站开发 源代码杭州公司注册费用
  • 免费发广告的网站大全网页设计与制作长江职业学院
  • 网站建设怎么改栏目名称滴答手表网站
  • 东莞企业网站推广运营wordpress免费博客主题
  • 苏州整站优化秦皇岛住房和城乡建设网官网
  • 网站建设服务器可以租吗快速建站属于saas吗
  • 公司网站做好了怎么做排名专业网站维护
  • 阿里云需要网站建设方案书免费的微网站哪个好
  • 萧江网站建设松江新桥专业网站建设
  • 模拟网站建设中国十大广告公司
  • 燕郊网站制作多少钱网站建设意义
  • 网站建设合同通用范本网站在线配色
  • 网站红色郑州网站建设没效果
  • 沈阳cms模板建站iis8 wordpress
  • 网站跳出率因素wordpress主题点赞
  • 深圳企业网站制作公司单位长春启做网站多少
  • 北京高端网站建设制作设计网站里面的超链接怎么做
  • 名师工作室网站建设建议网站推广效果的评价
  • 做酒吧设计的网站太原深圳建设工程信息网站
  • 模板建站总公司施工企业怎样报考a证
  • 网站信息系统建设军事新闻app哪个好
  • 怎么建网站平台卖东西怎么做链接
  • 建设系统网站点石家装全包价格最新
  • asp access 手机站 用于做微网站微信推送怎么做购物网站
  • 潍坊网页网站制作写网站代码
  • 彩票网站链接怎么做注册有限公司注册有限公司
  • 建设特效网站网站备案核验照片背景
  • 要点营销网站个人主页设计实验报告
  • 做企业网站的轻量级cmswordpress 启用主题