柚子快報(bào)邀請(qǐng)碼778899分享:藍(lán)橋杯--基礎(chǔ)(哈夫曼)
柚子快報(bào)邀請(qǐng)碼778899分享:藍(lán)橋杯--基礎(chǔ)(哈夫曼)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class BASIC28 {
//哈夫曼書
public static void main(String[] args) {
Scanner Scanner=new Scanner(System.in);
int n=Scanner.nextInt();
List
for(int i=0;i { list.add(Scanner.nextInt()); } //數(shù)組刪除一個(gè)元素比較的麻煩(使用java里面的數(shù)組不能直接的刪除一個(gè)元素) //但是使用list就是可以直接的進(jìn)行刪除了是嗎??? //原來使用list是可以直接的進(jìn)行排序的 int sum=0; while(list.size()!=1) { Collections.sort(list); //要輸出的是每次相加的這個(gè)和是吧,那么需要另外的開辟一個(gè)來進(jìn)行存儲(chǔ)??? list.add(list.get(0)+list.get(1)); sum+=list.get(0)+list.get(1); //當(dāng)把第一個(gè)元素刪除之后,原本的第二個(gè)元素就是變?yōu)榱说谝粋€(gè)元素 //所以這個(gè)地方需要進(jìn)行刪除還是0 list.remove(0); list.remove(0); } //最后一個(gè)數(shù)字就是計(jì)算得到的,已經(jīng)在前面的基礎(chǔ)上添加過了 System.out.println(sum); } } 根據(jù)可能的規(guī)則,直接使用list進(jìn)行存儲(chǔ)(因?yàn)樘峁┲苯右瞥氐暮瘮?shù)) 然后需要注意的就是list也是可以排序的,不過是Collections.sort() 然后數(shù)組的排序是Arrays.sort() 進(jìn)行排序 最后就是在移除的時(shí)候,應(yīng)該移除的是前面的兩個(gè)最小的 但是當(dāng)移除一個(gè)之后,后面的那個(gè)又會(huì)接著補(bǔ)充進(jìn)來,所以這個(gè)時(shí)候就是這個(gè)樣子的 柚子快報(bào)邀請(qǐng)碼778899分享:藍(lán)橋杯--基礎(chǔ)(哈夫曼) 精彩文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。