最大字段求和
2021/10/9 23:42:52
本文主要是介绍最大字段求和,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算法1:三重循环暴力求解法
#include <stdio.h> int maximum_segment_sum(int array[],int n) { int this_sum = 0; int max_sum = 0; int i,j,k; for(i = 0;i < n;i++) {//分别以第一个第二个元素开始 for(j = i;j < n;j++) {//不停的在这个串上多加几个元素 this_sum = 0; for(k = i;k <= j;k++) {//遍历求和 this_sum += array[k]; } if(this_sum > max_sum) { max_sum = this_sum; } } } return max_sum; } int main() { int array[7] = {1,-5,3,4,-2,-3,10}; int result = 0; result = maximum_segment_sum(array,7); printf("%d",result); return 0; }
算法2:二重循环求解
#include <stdio.h> int maximum_segment_sum(int array[],int n) { int this_sum = 0; int max_sum = 0; int i,j,k; for(i = 0;i < n;i++) { this_sum = 0; for(j = i;j < n;j++) { this_sum += array[j]; if(this_sum > max_sum) { max_sum = this_sum; } } } return max_sum; } int main() { int array[7] = {1,-5,3,4,-2,-3,10}; int result = 0; result = maximum_segment_sum(array,7); printf("%d",result); return 0; }
算法3:分治法
这篇关于最大字段求和的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-30我的第一个Go命令行工具
- 2024-09-30初学者指南:轻松掌握模块化编程
- 2024-09-30顶级5款免费的IntelliJ插件,助你Java开发之路更顺畅
- 2024-09-30提高应用程序可用性:冗余和持久性
- 2024-09-30Twitter 系统设计面试示例
- 2024-09-30JSON对象入门教程:轻松掌握基础用法
- 2024-09-30封装入门:Java面向对象编程的第一步
- 2024-09-30后台交互入门:轻松掌握基础知识与实践技巧
- 2024-09-30轻松入门:后台交互教程详解
- 2024-09-30后台交互项目实战:新手指南