中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
LeetCode實(shí)戰(zhàn):最大子序和

題目英文

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Example:

Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

Follow up:

If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.


題目中文

給定一個(gè)整數(shù)數(shù)組 nums,找到一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和。

示例 1:

輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續(xù)子數(shù)組 [4,-1,2,1] 的和最大,為 6。

示例 2:

輸入: [-2,1],
輸出: 1

進(jìn)階:

如果你已經(jīng)實(shí)現(xiàn)復(fù)雜度為 O(n) 的解法,嘗試使用更為精妙的分治法求解。


算法實(shí)現(xiàn)

利用暴力算法

public class Solution {
    public int MaxSubArray(int[] nums) {
        int len = nums.Length;
        if (len == 0)
            return 0;
        if (len == 1)
            return nums[0];
        int max = int.MinValue;

        for (int i = 0; i < len; i++)
        {
            int sum = nums[i];
            if (sum > max)
            {
                max = sum;
            }
            for (int j = i + 1; j < len; j++)
            {
                sum += nums[j];
                if (sum > max)
                {
                    max = sum;
                }
            }
        }
        return max;        
    }
}

利用動態(tài)規(guī)劃

動態(tài)規(guī)劃的最優(yōu)子結(jié)構(gòu)為:max[i] = Max(max[i-1] + nums[i], nums[i])

public class Solution {    public int MaxSubArray(int[] nums) {
        int len = nums.Length;
        if (len == 0)
            return 0;
        if (len == 1)
            return nums[0];
        int[] max = new int[len];
        max[0] = nums[0];
        int result = max[0];
        for (int i = 1; i < len; i++)
        {
            if (max[i - 1] + nums[i] > nums[i])
            {
                max[i] = max[i - 1] + nums[i];
            }
            else
            {
                max[i] = nums[i];
            }

            if (max[i] > result)
            {
                result = max[i];
            }
        }
        return result;      
    }
}

實(shí)驗(yàn)結(jié)果

利用暴力算法

  • 狀態(tài):通過

  • 202 / 202 個(gè)通過測試用例

  • 執(zhí)行用時(shí): 596 ms, 在所有 C# 提交中擊敗了 14.18% 的用戶

  • 內(nèi)存消耗: 24.5 MB, 在所有 C# 提交中擊敗了 5.88% 的用戶
提交結(jié)果

利用動態(tài)規(guī)劃

  • 狀態(tài):通過

  • 202 / 202 個(gè)通過測試用例

  • 執(zhí)行用時(shí): 136 ms, 在所有 C# 提交中擊敗了 91.85% 的用戶

  • 內(nèi)存消耗: 24.4 MB, 在所有 C# 提交中擊敗了 5.88% 的用戶
提交結(jié)果

相關(guān)圖文

1. “數(shù)組”類算法

2. “鏈表”類算法

3. “棧”類算法

4. “隊(duì)列”類算法

5. “遞歸”類算法

6. “字符串”類算法

7. “樹”類算法

8. “哈希”類算法

9. “搜索”類算法

10. “動態(tài)規(guī)劃”類算法

11. “回溯”類算法

11. “數(shù)值分析”類算法


經(jīng)過8年多的發(fā)展,LSGO軟件技術(shù)團(tuán)隊(duì)在「地理信息系統(tǒng)」、「數(shù)據(jù)統(tǒng)計(jì)分析」、「計(jì)算機(jī)視覺」等領(lǐng)域積累了豐富的研發(fā)經(jīng)驗(yàn),也建立了人才培養(yǎng)的完備體系,目前深耕的領(lǐng)域?yàn)?span style="color: rgb(62, 62, 62);font-family: "Microsoft YaHei", "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif;font-size: 16px;caret-color: rgb(62, 62, 62);">「機(jī)器學(xué)習(xí)與量化金融」,歡迎對計(jì)算機(jī)技術(shù)感興趣的同學(xué)加入,與我們共同成長進(jìn)步。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【小Y學(xué)算法】??每日LeetCode打卡??——17.最大子序和
?LeetCode刷題實(shí)戰(zhàn)53:最大子序和
干貨:圖解算法——?jiǎng)討B(tài)規(guī)劃系列
動態(tài)規(guī)劃入門看這篇就夠了,萬字長文!
回溯算法和動態(tài)規(guī)劃,到底誰是誰爹?文末送書
21.03.09 LeetCode15. 三數(shù)之和
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服