最大连续子序列求和(算法)亲测完整C语言代码

本文主要探讨最大连续子序列求和问题,作者作为一个Java程序员,分享了自己亲测的C语言实现,包括一种时间复杂度为O(N^3)的算法,适合学习和研究。
摘要由CSDN通过智能技术生成

最大连续子序列求和(算法)亲测完整C语言代码

虽然楼主是一个Java程序员,但是最近在学习的时候,遇到一个问题:最大连续子序列求和。
当时这个问题是个很好的问题,如果理解透彻了,就会很easy。实现的时间复杂度,也很多,非常适合学习研究。

一、引入讲解文章

在知乎上有一篇文章讲解了一个理解思路是非常不错的。
建议用笔和纸写一写画一画,光靠看肯定会很懵。
最大连续子序列求和的一种理解思路

二、楼主亲测的几种实现方式。

今天后续楼主会把自己的几种实现方式完整的代码贴出来。
所有算法均已亲测通过,如有疑问,欢迎指出。

1、最慢的一种算法:时间复杂度为T(N)=O(N^3)。
#include <stdio.h>

/*
 * 时间复杂度:T(N) = O(N^3)
 * 输入序列{-2,11,-4,13,-5,-2}
 * 最大子序列:{11,-4,13}和为20
 *
 * 这里首先讲解一下for循环的执行顺序
 * 1、首先int i = 0;
 * 2、然后判断i < 2成立
 * 3、进入循环体打印hello world
 * 4、打印完后i + 1=1
 *
 * 5、判断i < 2 成立
 * 6、进入循环体打印hello world
 * 7、打印完后i + 1 = 2
 *
 * 8、判断i < 2 不成立
 * 9、跳出此循环
 *
 * 至此
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值