Rumah pangkalan data tutorial mysql 最大子序列和问题

最大子序列和问题

Jun 07, 2016 pm 04:13 PM
urutan integer maksimum masuk soalan

问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 下面依次给出几个不

问题描述:

输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:

序列:-2 11 -4 13 -5 -2,则最大子序列和为20。

序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。

下面依次给出几个不同实现算法

int MaxSubseqSum1( int A[], int N )//算法1  T( N ) = O( N3 )
{
    int ThisSum, MaxSum = 0;
    int i, j, k;
    for( i = 0; i < N; i++ )   /* i是子列左端位置*/
    {
        for( j = i; j < N; j++ )   /* j是子列右端位置*/
        {
            ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/
            for( k = i; k <= j; k++ )
                ThisSum += A[k];
            if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/
                MaxSum = ThisSum; /* 则更新结果*/
        } /* j循环结束*/
    } /* i循环结束*/
    return MaxSum;
}

int MaxSubseqSum2( int A[], int N )  //算法2T( N ) = O( N2 )
{
    int ThisSum, MaxSum = 0;
    i【本文来自鸿网互联 (http://www.68idc.cn)】nt i, j;
    for( i = 0; i < N; i++ )   /* i是子列左端位置*/
    {
        ThisSum = 0; /* ThisSum是从A[i]到A[j]的子列和*/
        for( j = i; j < N; j++ )   /* j是子列右端位置*/
        {
            ThisSum += A[j];
            /*对于相同的i,不同的j,只要在j-1次循环的基础上累加1项即可*/
            if( ThisSum > MaxSum ) /* 如果刚得到的这个子列和更大*/
                MaxSum = ThisSum; /* 则更新结果*/
        } /* j循环结束*/
    } /* i循环结束*/
    return MaxSum;
}
 
 int MaxSubseqSum4( int A[], int N ) //算法4T( N ) = O( N2 )
{
    int ThisSum, MaxSum;
    int i;
    ThisSum = MaxSum = 0;
    for( i = 0; i < N; i++ )
    {
        ThisSum += A[i]; /* 向右累加*/
        if( ThisSum > MaxSum )
            MaxSum = ThisSum; /* 发现更大和则更新当前结果*/
        else if( ThisSum < 0 ) /* 如果当前子列和为负*/
            ThisSum = 0; /* 则不可能使后面的部分和增大,抛弃之*/
    }
    return MaxSum;
}//&ldquo;在线&rdquo;的意思是指每输入一个数据就进行即时处理,在任 何一个地方中止输入,算法都能正确给出当前的解。
Salin selepas log masuk

算法3---分治法

\

\

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Melumpuhkan Panduan Pengalaman Input Win11 Melumpuhkan Panduan Pengalaman Input Win11 Dec 27, 2023 am 11:07 AM

Baru-baru ini, ramai pengguna Win11 menghadapi masalah bahawa kotak dialog pengalaman input sentiasa berkelip dan tidak boleh dimatikan Ini sebenarnya disebabkan oleh perkhidmatan sistem lalai dan komponen Win11 perkhidmatan pengalaman input Selesai, mari kita mencubanya. Cara mematikan pengalaman input dalam win11: Langkah pertama, klik kanan menu mula dan buka "Pengurus Tugasan". mengikut urutan, klik kanan "Tamat Tugas" "Langkah ketiga, buka menu mula, cari dan buka "Perkhidmatan" di bahagian atas. Langkah keempat, cari "Textinp" di dalamnya

Input Windows menemui hang atau penggunaan memori yang tinggi [Betulkan] Input Windows menemui hang atau penggunaan memori yang tinggi [Betulkan] Feb 19, 2024 pm 10:48 PM

Pengalaman input Windows ialah perkhidmatan sistem utama yang bertanggungjawab untuk memproses input pengguna daripada pelbagai peranti antara muka manusia. Ia bermula secara automatik pada permulaan sistem dan berjalan di latar belakang. Walau bagaimanapun, kadangkala perkhidmatan ini mungkin secara automatik menggantung atau menduduki terlalu banyak memori, mengakibatkan prestasi sistem berkurangan. Oleh itu, adalah penting untuk memantau dan mengurus proses ini tepat pada masanya untuk memastikan kecekapan dan kestabilan sistem. Dalam artikel ini, kami akan berkongsi cara untuk membetulkan isu di mana pengalaman input Windows tergantung atau menyebabkan penggunaan memori yang tinggi. Perkhidmatan Pengalaman Input Windows tidak mempunyai antara muka pengguna, tetapi ia berkait rapat dengan pengendalian tugas dan fungsi sistem asas yang berkaitan dengan peranti input. Peranannya adalah untuk membantu sistem Windows memahami setiap input yang dimasukkan oleh pengguna.

Apakah ungkapan biasa untuk integer? Apakah ungkapan biasa untuk integer? Nov 14, 2023 pm 04:11 PM

Ungkapan biasa untuk integer ialah: 1. Padankan integer positif: ^[1-9]\d*$; :^-?\d+$; 4. Padankan integer bukan sifar: ^(0|[1-9]\d*)$;

Masalah penilaian kesan pengelompokan dalam algoritma pengelompokan Masalah penilaian kesan pengelompokan dalam algoritma pengelompokan Oct 10, 2023 pm 01:12 PM

Masalah penilaian kesan pengelompokan dalam algoritma pengelompokan memerlukan contoh kod khusus Pengelompokan ialah kaedah pembelajaran tanpa pengawasan yang mengelompokkan sampel yang serupa ke dalam satu kategori dengan mengelompokkan data. Dalam algoritma pengelompokan, cara menilai kesan pengelompokan adalah isu penting. Artikel ini akan memperkenalkan beberapa penunjuk penilaian kesan pengelompokan yang biasa digunakan dan memberikan contoh kod yang sepadan. 1. Indeks penilaian kesan pengelompokan Pekali Siluet Pekali siluet menilai kesan pengelompokan dengan mengira kehampiran sampel dan tahap pemisahan daripada kelompok lain.

Ajar anda cara mendiagnosis masalah iPhone biasa Ajar anda cara mendiagnosis masalah iPhone biasa Dec 03, 2023 am 08:15 AM

Dikenali dengan prestasi yang berkuasa dan ciri serba boleh, iPhone tidak terlepas daripada cegukan atau kesukaran teknikal sekali-sekala, ciri biasa di kalangan peranti elektronik yang kompleks. Mengalami masalah iPhone boleh mengecewakan, tetapi biasanya penggera tidak diperlukan. Dalam panduan komprehensif ini, kami menyasarkan untuk menyahmistifikasi beberapa cabaran yang paling biasa dihadapi yang berkaitan dengan penggunaan iPhone. Pendekatan langkah demi langkah kami direka untuk membantu anda menyelesaikan isu lazim ini, menyediakan penyelesaian praktikal dan petua penyelesaian masalah untuk mengembalikan peralatan anda dalam keadaan berfungsi terbaik. Sama ada anda menghadapi masalah atau isu yang lebih kompleks, artikel ini boleh membantu anda menyelesaikannya dengan berkesan. Petua Penyelesaian Masalah Umum Sebelum menyelidiki langkah penyelesaian masalah khusus, berikut adalah beberapa yang berguna

Bagaimana untuk menyelesaikan masalah yang jQuery tidak dapat memperoleh nilai elemen bentuk Bagaimana untuk menyelesaikan masalah yang jQuery tidak dapat memperoleh nilai elemen bentuk Feb 19, 2024 pm 02:01 PM

Untuk menyelesaikan masalah yang jQuery.val() tidak boleh digunakan, contoh kod khusus diperlukan Untuk pembangun bahagian hadapan, menggunakan jQuery ialah salah satu operasi biasa. Antaranya, menggunakan kaedah .val() untuk mendapatkan atau menetapkan nilai elemen borang adalah operasi yang sangat biasa. Walau bagaimanapun, dalam beberapa kes tertentu, masalah tidak dapat menggunakan kaedah .val() mungkin timbul. Artikel ini akan memperkenalkan beberapa situasi dan penyelesaian biasa, serta memberikan contoh kod khusus. Penerangan Masalah Apabila menggunakan jQuery untuk membangunkan halaman hadapan, kadangkala anda akan menghadapi

Sijil SSL pemasangan Sharepoint? Sijil SSL pemasangan Sharepoint? Feb 19, 2024 am 11:27 AM

Memasang sijil SSL pada SharePoint ialah langkah penting dalam melindungi tapak web anda dan menyediakan sambungan yang disulitkan. Dengan mengikut langkah pemasangan yang betul, anda boleh memastikan keselamatan data tapak web anda, meningkatkan kedudukan anda dalam enjin carian dan memberikan pengalaman pengguna yang lebih baik untuk pelawat anda. Dapatkan Sijil SSL Hubungi Pihak Berkuasa Sijil (CA) yang dipercayai untuk membeli sijil SSL. Berikan maklumat pengesahan dan pengesahan pemilikan domain yang diperlukan. Selepas melengkapkan proses pengesahan, anda akan menerima fail sijil SSL. Sediakan Fail Sijil Buka fail sijil SSL anda menggunakan penyunting teks. Salin kandungan sijil ke fail teks baharu. Simpan fail sebagai yourdomain.cer, pastikan untuk menukar "yourdomain&#8221

Masalah pemerolehan label dalam pembelajaran yang diselia dengan lemah Masalah pemerolehan label dalam pembelajaran yang diselia dengan lemah Oct 08, 2023 am 09:18 AM

Masalah pemerolehan label dalam pembelajaran yang diselia dengan lemah memerlukan contoh kod khusus Pengenalan: Pembelajaran diselia dengan lemah ialah kaedah pembelajaran mesin yang menggunakan label yang lemah untuk latihan. Berbeza daripada pembelajaran tradisional yang diselia, pembelajaran yang diselia dengan lemah hanya perlu menggunakan lebih sedikit label untuk melatih model, berbanding setiap sampel perlu mempunyai label yang tepat. Walau bagaimanapun, dalam pembelajaran yang diselia dengan lemah, cara mendapatkan maklumat berguna dengan tepat daripada label yang lemah adalah isu utama. Artikel ini akan memperkenalkan masalah pemerolehan label dalam pembelajaran yang diselia dengan lemah dan memberikan contoh kod khusus. Pengenalan kepada masalah pemerolehan label dalam pembelajaran yang diselia dengan lemah:

See all articles