返回一串字符串的最大值。

1.定义一个vector数组,向里面赋值。然后去除数组末尾的负数。如果全是负数,找到最大的。然后从头相加,直到和为负数,,并重新开始累积和,并随时与当前最大值比较。

2.源代码

#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;

void main()
{
    vector <int> Array;       //声明vector数组。
    int temp = 0;    //用于输入。
    int sum = 0;    //储存当前最大和。
    int max = 0;    //储存最大和。
    cout << "请输入几个整数(用空格隔开,以字符结束)" << endl;
    while(cin >> temp)
    {
        Array.push_back(temp);    //将数字进栈到Array中。
    }
    if(Array[Array.size() - 1] < 0)
    {
        max = Array[Array.size() - 1];
    }
    while(Array[Array.size() - 1] < 0)    //去除数组末尾的负数。如果全是负数,找到最大的。
    {
        if(max <= Array[Array.size() - 1])
        {
            max = Array[Array.size() - 1];
        }
        Array.pop_back();
        if(Array.size() == 0)
        {
            cout << "最大子数组和为:" << max << endl;
            return;
        }
    }
    for(int i = 0;i < Array.size();i++)
    {
        if(sum < 0)    //如果当前数组和小于零,重置sum。
        {
            sum = 0;
        }
        else
        {
            sum += Array[i];
        }
        if(sum > max)    //当前和与最大值比较。
        {
            max = sum;
        }
    }
    cout << "最大子数组和为:" << max << endl;
    vector<int>().swap(Array);    //释放vector数组。
}

3.结果截图

时间: 2024-10-26 16:12:44

返回一串字符串的最大值。的相关文章

返回一串字符串的最大值(二)。

1.设计思路 在(一)的基础上作出修改,修改大于小于号,求出字符串中子数组和最小和(与一中的最大和思路一致).再用全数组的和减去最小和就是环字符串意义上的最大和.再与max(非循环数组意义上的最大值)比较,取大值.最后若max为零,则可能存在数组全负或零的情况,这时输出最大数组单元. 2.源代码 #include <iostream> #include<vector> #include<algorithm> using namespace std; void main(

今天面试问了一道题。说一串字符串由这几个符号组成&quot;&lt;&gt;{}[]()”,写一个算法,例如如果组成方式为“&lt;&gt;{[]}{}()”这种,也就是XML格式那种则返回true。否则返回false;

原创 今天面试问了一道题.说一串字符串由这几个符号组成"<>{}[]()",写一个算法,例如如果组成方式为"<>{[]}{}()"这种,也就是XML格式那种则返回true.否则返回false: 当时没想出来, 只想到了回文数解决办法.回文数解决办法是颠倒比较,相等为true: 换xml格式当时真没想到啥好方法: 在回来的路上想到了.. .. 去重,吧临近的一组去掉,在递归调用比较去重直到最后,如果有剩下则不返回false:否则true: 代码

53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”

(1)我的错误程序: #include<iostream> #include<string.h> using namespace std; int ZhuanHuan(char); int main() { char a[100]; cout<<"please input a string: "<<endl; cin>>a; for(int i=0;i<strlen(a);i++) { ZhuanHuan(a[i]);

JavaScript基础 substr(startIndex, length) 在原始字符串中,截取并返回一个子字符串

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

JavaScript基础 indexOf() 返回一个子字符串在原始字符串中的索引 从左往右查找

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ ex1: code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; chars

04微信公众平台 - 实现【翻译】功能函数,返回一个文本字符串。

一.功能代码函数实现 private function _baiduDic($keyword) { $tranurlaip = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=9peNkh97N6B9GGj9zBke9tGQ&q={$keyword}&from=auto&to=auto"; //翻译URLapi地址 $transtr = file_get_contents($tranurl

05微信公众平台 - 实现【点歌】功能函数,返回一个文本字符串。

一.功能代码函数实现 /* * 功能5:根据歌名点歌功能,输入歌名即可,传入参数为输入对象$postObj */ private function _listenMusic($postObj) { $ret= "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTi

03微信公众平台 - 实现【天气查询】功能函数,返回一个文本字符串。

一.功能代码函数实现 private function _weather($city) { include("weather_cityId.php"); $c_name=$weather_cityId[$city]; if(!empty($c_name)){ $json=file_get_contents("http://m.weather.com.cn/data/".$c_name.".html"); $data = json_decode($

php 查找数组中是否存在某项,并返回指定的字符串,可用于检查复选,单选等

/** * 查找数组中是否存在某项,并返回指定的字符串,可用于检查复选,单选等 * @param $id * @param $ids * @param string $returnstr * @return string */ function check_in($id,$ids,$returnstr = 'checked') { if(in_array($id,$ids)) return $returnstr; }