91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

长武县| 吉安县| 安龙县| 板桥市| 榆中县| 根河市| 兴海县| 罗源县| 边坝县| 勃利县| 辉县市| 出国| 太湖县| 余江县| 普宁市| 合阳县| 澳门| 临城县| 安福县| 惠东县| 石棉县| 大名县| 万源市| 阳新县| 友谊县| 黑龙江省| 富阳市| 揭西县| 逊克县| 玉环县| 广西| 和静县| 柏乡县| 安乡县| 阿巴嘎旗| 开江县| 怀远县| 大埔县| 永平县| 永定县| 泽普县|