假定给定的一组数为:-2,-4,-7,-20,1,1,1,1,-10,1,1,1,5,-10,10,10,10,-25,10,10,10,10,10,10,-300
算法要求:在给定的数组中找出某个连续子串,该子串的值是最大的,并且输出该子串和最大值。
代码如下:
public class Search {
static int max=0;
static int max1=0;
static int [] n = {-2,-4,-7,-20,1,1,1,1,-10,1,1,1,5,-10,10,10,10,-25,10,10,10,10,10,10,-300};
static String tempStr = "";
static String maxStr = "";
static int temp;
static String Find() {
for(int i = 0;i <25; i++) {
temp += n[i];
tempStr += n[i]+",";
if(temp >= max) {
maxStr = tempStr;
}
if(temp < 0) {
temp = 0;
tempStr = "";
}
}
System.out.println(maxStr);
return maxStr;
}
static int findNum() {
for(int i = 0;i

该算法旨在从给定的数组中寻找最大值连续子串,例如:-2,-4,-7,-20,1,1,1,1,-10...。通过使用滑动窗口策略,当遇到负数时跳过,直到找到正数开始累加,更新最大子串和。在寻找最大子串时,同时记录最大值对应的起始位置,最终输出最大值及其子串。"
127809106,12164407,C++中的MyString类与运算符重载实践,"['C++编程', '类设计', '运算符重载']
最低0.47元/天 解锁文章
899

被折叠的 条评论
为什么被折叠?



