Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Memecahkan Kod Leet . Masa Terbaik untuk Membeli dan Menjual Stok II

Memecahkan Kod Leet . Masa Terbaik untuk Membeli dan Menjual Stok II

WBOY
WBOYasal
2024-08-05 21:42:12304semak imbas

Dalam usaha berterusan saya untuk mempertajam kemahiran LeetCode saya, saya telah menangani masalah "Masa Terbaik untuk Membeli dan Menjual Saham II". Cabaran ini adalah susulan kepada masalah klasik "Masa Terbaik untuk Membeli dan Menjual Saham II" (LeetCode 121) tetapi dengan perbezaan penting: *anda boleh melaksanakan berbilang transaksi untuk memaksimumkan keuntungan.
*

Pendekatan Visual

Sebelum menyelami kod, saya mendapati ia amat membantu untuk menggambarkan masalah pada papan putih. Ini membolehkan saya memecahkan masalah kepada langkah yang lebih kecil dan lebih terurus.

Cracking the LeetCode . Best Time to Buy and Sell Stock II

Pendekatan Tamak

Memandangkan fleksibiliti untuk membuat transaksi tanpa had, pendekatan tamak nampaknya menjanjikan. Idea terasnya mudah: apabila harga saham meningkat berbanding hari sebelumnya, kami menganggapnya sebagai peluang keuntungan yang berpotensi. Dengan menjumlahkan semua perbezaan harga ini, kami mengira keuntungan maksimum dengan berkesan.

Pelaksanaan Python

Inilah kod Python yang melaksanakan strategi tamak ini:

class Solution:
    def maxProfit(self, prices: List[int]) -> int:
        profit = 0

        for i in range(1, len(prices)):
            if prices[i] > prices[i-1]:
                profit+=prices[i] - prices[i-1]

        return profit

Pelaksanaan JavaScript

/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function(prices) {
    var profit = 0;
    for (var i = 1; i < prices.length; i++)
    {
    if(prices[i] > prices[i-1])
    {
        profit += Number(prices[i] - prices[i-1])
    }
    }

    return profit
};

Kerumitan Masa dan Ruang

  • Kerumitan masa pendekatan ini ialah O(N) dengan N = panjang tatasusunan.
  • Kerumitan ruang ialah N(1) seperti yang kita bandingkan di tempatnya.

Atas ialah kandungan terperinci Memecahkan Kod Leet . Masa Terbaik untuk Membeli dan Menjual Stok II. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn