Jadual Kandungan
回复讨论(解决方案)
Rumah pembangunan bahagian belakang tutorial php 刚刚遇到一个棘手的算法问题,求解

刚刚遇到一个棘手的算法问题,求解

Jun 23, 2016 pm 01:58 PM


求解


回复讨论(解决方案)

$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) {  @$st[$v]++;  if($v >= $d) {    $d = $v;  }else{    while($v < $d) {      unset($st[$d--]);    }  }  $r[] = join('.', $st);}print_r($r); 
Salin selepas log masuk
Salin selepas log masuk
Array
(
[0] => 1
[1] => 1.1
[2] => 1.2
[3] => 1.2.1
[4] => 2
[5] => 2.1
[6] => 2.1.1
[7] => 3
[8] => 4
)

不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………

$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) {  @$st[$v]++;  if($v >= $d) {    $d = $v;  }else{    while($v < $d) {      unset($st[$d--]);    }  }  $r[] = join('.', $st);}print_r($r); 
Salin selepas log masuk
Salin selepas log masuk
Array
(
    [0] => 1
    [1] => 1.1
    [2] => 1.2
    [3] => 1.2.1
    [4] => 2
    [5] => 2.1
    [6] => 2.1.1
    [7] => 3
    [8] => 4
)


版主,谢谢你的解答 ,如果可以的话,能不能讲讲你的思路呀,万分感谢

不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………


本题其实是一个目录编排的问题,你可以看到优先级决定着大小标题的显示

$a = array(1,2,2,3,1,2,3,1,1); 表示的是节点所在的层次
$st = array(1 => 0); 存储每层当前的序号
$d 表示当前的层次

嗯嗯 谢谢版主的解释,我再好好研究研究,先把分送上

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
3 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)

Bagaimana untuk menulis algoritma untuk mencari gandaan sepunya paling kurang dalam Python? Bagaimana untuk menulis algoritma untuk mencari gandaan sepunya paling kurang dalam Python? Sep 19, 2023 am 11:25 AM

Bagaimana untuk menulis algoritma untuk mencari gandaan sepunya paling kurang dalam Python? Gandaan sepunya terkecil ialah integer terkecil antara dua nombor yang boleh membahagi dua nombor. Dalam matematik, menyelesaikan gandaan sepunya terkecil ialah tugas matematik asas, dan dalam pengaturcaraan komputer, kita boleh menggunakan Python untuk menulis algoritma untuk menyelesaikan gandaan sepunya terkecil. Berikut akan memperkenalkan algoritma berbilang asas yang paling tidak sepunya dan memberikan contoh kod khusus. Takrif matematik bagi gandaan sepunya terkecil ialah: Jika a boleh dibahagi dengan n dan b boleh dibahagi dengan n, maka n ialah gandaan sepunya terkecil a dan b. Untuk menyelesaikan minimum

Cara cepat untuk mengira songsangan matriks - pelaksanaan Numpy Cara cepat untuk mengira songsangan matriks - pelaksanaan Numpy Jan 24, 2024 am 08:47 AM

Numpy ialah perpustakaan pengkomputeran saintifik yang terkenal dalam Python, yang menyediakan fungsi yang kaya dan kaedah pengkomputeran yang cekap untuk memproses tatasusunan dan matriks berbilang dimensi yang besar. Dalam dunia sains data dan pembelajaran mesin, penyongsangan matriks adalah tugas biasa. Dalam artikel ini, saya akan memperkenalkan cara cepat menyelesaikan songsang matriks menggunakan perpustakaan Numpy dan memberikan contoh kod khusus. Mula-mula, mari kita perkenalkan perpustakaan Numpy ke dalam persekitaran Python kita dengan memasangnya. Numpy boleh dipasang di terminal menggunakan arahan berikut: pipinsta

Menggunakan pengaturcaraan bahasa C untuk menyelesaikan pembahagi sepunya terbesar Menggunakan pengaturcaraan bahasa C untuk menyelesaikan pembahagi sepunya terbesar Feb 21, 2024 pm 07:30 PM

Tajuk: Gunakan pengaturcaraan bahasa C untuk melaksanakan penyelesaian pembahagi sepunya terhebat Pembahagi sepunya terbesar (pendek kata GCD) merujuk kepada integer positif terbesar yang boleh membahagi dua atau lebih integer pada masa yang sama. Penyelesaian untuk pembahagi sepunya yang paling hebat boleh sangat membantu untuk beberapa algoritma dan penyelesaian masalah. Dalam artikel ini, fungsi mencari pembahagi sepunya terbesar akan dilaksanakan melalui pengaturcaraan bahasa C, dan contoh kod khusus akan disediakan. Dalam bahasa C, anda boleh menggunakan Algoritma Euclidean untuk menyelesaikan maksimum

Bagaimana untuk menggunakan Python untuk melaksanakan algoritma untuk menyelesaikan faktorial? Bagaimana untuk menggunakan Python untuk melaksanakan algoritma untuk menyelesaikan faktorial? Sep 19, 2023 am 10:30 AM

Bagaimana untuk menggunakan Python untuk melaksanakan algoritma untuk menyelesaikan faktorial? Faktorial adalah konsep penting dalam matematik Ia merujuk kepada nombor yang didarab dengan sendirinya tolak satu, kemudian didarab dengan sendirinya tolak satu, dan seterusnya sehingga ia didarab kepada 1. Faktorial biasanya diwakili oleh simbol "!" Sebagai contoh, faktorial 5 dinyatakan sebagai 5!, dan formula pengiraan ialah: 5!=5×4×3×2×1=120. Dalam Python, kita boleh menggunakan gelung untuk melaksanakan algoritma faktorial mudah. Kod sampel diberikan di bawah: deffacto

Ketahui cara mencari pembahagi sepunya terbesar dalam bahasa C Ketahui cara mencari pembahagi sepunya terbesar dalam bahasa C Feb 21, 2024 pm 11:18 PM

Untuk mengetahui cara mencari pembahagi sepunya terbesar dalam bahasa C, anda memerlukan contoh kod khusus Pembahagi sepunya terhebat (pendek kata GCD) merujuk kepada integer positif terbesar antara dua atau lebih integer yang boleh membahagikannya. Penyebut sepunya terbesar sering digunakan dalam pengaturcaraan komputer, terutamanya apabila berurusan dengan pecahan, memudahkan pecahan, dan menyelesaikan masalah seperti nisbah integer termudah. Artikel ini akan memperkenalkan cara menggunakan bahasa C untuk mencari pembahagi sepunya yang paling hebat dan memberikan contoh kod khusus. Terdapat banyak cara untuk menyelesaikan pembahagi sepunya terbesar, seperti Euclidean

Menulis program untuk menyelesaikan persamaan modular dalam C/C++? Menulis program untuk menyelesaikan persamaan modular dalam C/C++? Sep 12, 2023 pm 02:21 PM

Di sini kita akan melihat masalah menarik berkaitan persamaan modular. Katakan kita mempunyai dua nilai A dan B. Kita mesti mencari bilangan nilai yang mungkin yang boleh diambil oleh pembolehubah X sedemikian rupa sehingga (AmodX)=B dipegang. Katakan A ialah 26 dan B ialah 2. Jadi nilai pilihan X ialah {3,4,6,8,12,24}, maka kiraan 6. Ini jawapannya. Mari kita lihat algoritma untuk memahami dengan lebih baik. Algoritma mungkinWayCount(a,b)−mulakan ifa=b,maka penyelesaian tidak terhingga jika

Program C/C++ untuk mencari nombor Fibonacci ke-1? Program C/C++ untuk mencari nombor Fibonacci ke-1? Sep 12, 2023 pm 06:01 PM

Jujukan Fibonacci ialah jujukan nombor di mana sebutan seterusnya ialah hasil tambah dua sebutan sebelumnya. Dua sebutan pertama bagi jujukan Fibonacci ialah 0 diikuti dengan 1. Dalam soalan ini, kita akan mencari nombor ke-n dalam jujukan Fibonacci. Untuk melakukan ini, kami akan mengira semua nombor dan mencetak n item. Input:8Output:011235813 Penerangan 0+1=11+1=21+2=32+3=5 Gunakan gelung For untuk menjumlahkan dua item pertama sebagai item seterusnya Contoh #include<iostream>usingnamespacestd;intmain(){ intt1 = 0,t2=1,n,i,penggal seterusnya;&am

Bagaimana untuk menyelesaikan kuasa 2 dalam PHP? Bagaimana untuk menyelesaikan kuasa 2 dalam PHP? Mar 28, 2024 am 11:09 AM

Tajuk: Bagaimana untuk menyelesaikan kuasa 2 dalam PHP? Contoh kod khusus dikongsi dalam pengaturcaraan PHP Penyelesaian kuasa nombor adalah keperluan biasa, terutamanya dalam beberapa algoritma dan pengiraan matematik. Artikel ini akan membincangkan secara terperinci cara menyelesaikan kuasa 2 dalam PHP dan memberikan contoh kod khusus untuk rujukan anda. Dalam PHP, anda boleh menggunakan operator eksponen ** untuk mengira kuasa. Untuk kuasa 2, hitung $2^n$, dengan $n$ ialah eksponen kuasa. Di bawah ini kami akan melaksanakan pengiraan ini dalam beberapa cara yang berbeza. Kaedah 1: Gunakan ** nasib

See all articles