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

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

WBOY
Lepaskan: 2024-08-05 21:42:12
asal
359 orang telah melayarinya

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

Salin selepas log masuk

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
};
Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan