亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

找出給定數數組里連續的元素和的最大值

發布時間:2020-06-14 11:39:02 來源:網絡 閱讀:446 作者:fyifei05580558 欄目:開發技術
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
    class Program
{
        static void Main(string[] args)
{
            FindMaxAmountValue rr = new FindMaxAmountValue();
           // Random r = new Random();

            int[] list=new int[]{-22,-11, 0, 0,0,0};
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
            int maxTotalValue=0;
            rr.FindMaxA(list,out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
           list = new int[] {0, 0, 0, 0 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
            list = new int[] { -22, -33, -1, -10 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
 
            list = new int[] { 22, -33, -100, -10 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
 
            list = new int[] { 22, -33, -100, -10, 19, 18, 13, 25, 21 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
            list = new int[] { -22, -33, -100, -10, 19, 18, 13, 25, 21 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
            list = new int[] { 22, -33, -100, -10, 19, 18, 13, 25, 21, -21 };
            for (int i = 0; i < list.Length; i++)
{
                Console.Write(list[i] + " ");
}
maxTotalValue = 0;
            rr.FindMaxA(list, out maxTotalValue);
            Console.WriteLine("got subTotal: {0}", maxTotalValue);
}

}
 
    public class FindMaxAmountValue
{

        /// <summary>
        /// 找出它們的規律;
        /// 1. 當沒有正數時,只需要比較單個元素,它就是最大值
        /// 2. 當有正數時, 需要相加,但是每次加后,標記出最大值;并且若和為0或者負數時,總和清零;繼續計算后面的。
        /// 時間復雜度是Q(n)。

        /// </summary>
        /// <param name="list"></param>
        /// <param name="maxTotalValue"></param>
        /// <returns>true, that means, that is max sum, otherwise, no max sum value.</returns>
        public bool FindMaxA(int[] list, out int maxTotalValue)
{
            maxTotalValue = Int32.MinValue;
            int len = list.Length;
            if (list == null || len <= 0) return false; // not can't find its maximum value.         

            //1. check if none of them in the list are positive --------------
            int i = 0;
            for (; i < len;i++ )
{
                if (list[i] > 0)
{
                    break;
}
                else
{
                    if (list[i] > maxTotalValue)
{
maxTotalValue = list[i];
}
}
}
            // there is not any positive number in the list, return it. 
            if (i == len)
{
                return true;
}

            // 2. There are positive number in the list, handle it --------------------------
            // we know the list[i] is greater than 0. 
           int currentMaxTotalValue = 0;
            for (; i < len;i++ )
{
currentMaxTotalValue = currentMaxTotalValue + list[i];
                if(currentMaxTotalValue>maxTotalValue)
{
maxTotalValue = currentMaxTotalValue;
}
                if (currentMaxTotalValue < 0)
{
currentMaxTotalValue = 0;
}
}
                return true;               
}
}
}
 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄垣县| 木兰县| 西吉县| 岢岚县| 鄂伦春自治旗| 威远县| 温泉县| 印江| 防城港市| 禹州市| 黎城县| 张家川| 灵石县| 张北县| 库车县| 宣恩县| 扬中市| 高雄市| 宜宾县| 乡宁县| 永兴县| 商都县| 望谟县| 乐亭县| 济南市| 监利县| 罗平县| 新平| 呼图壁县| 中西区| 玛沁县| 曲水县| 壤塘县| 奇台县| 杂多县| 邻水| 济阳县| 青冈县| 开原市| 黔西| 民权县|