牛客習題總結5

在這裏插入圖片描述
StringBuffer類型的賦值是不會改變原來的值得。
在這裏插入圖片描述
在這裏插入圖片描述
在Java中,默認在使用一個變量的時候必須賦予它初值
在這裏插入圖片描述

通俗的講,就是基本數據類型和包裝類之間的轉換。如: int 類型和 Integer 類的轉換
基本數據類型轉化成包裝類是裝箱 (如: int --> Integer)。
包裝類轉化成基本數據類型就是拆箱 (如:Integer --> int)。
包裝類就是引用類型,基本數據類型就是值類型。所以選C

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int kinds = in.nextInt();
            int[] arr = new int[kinds];
            for (int i = 0; i < kinds; i++) {
                arr[i] = in.nextInt();
            }
            System.out.println(differentkinds(arr, kinds, 40,0));
        }
    }

    static int differentkinds(int[] arr, int n, int v,int index) {
        if (v == 0) {
            return 1;
        }
        if (n == 0) {
            return 0;
        }else {
            //從後往前裝,最後一個開始,裝上n個後,體積減少,繼續往前
            //裝上n個後,如果無解。刪除該包。然後從n-1開始繼續往前裝
            return differentkinds(arr,n-1,v-arr[index],index+1)
                    +differentkinds(arr,n-1,v,index+1);
        }
    }
}

將輸入的值都存放在數組裏,創建一個方法去用遞歸來計算有幾種選擇方式,當體積剛好用完說明找到一種方法返回1,如果一直到n爲0,說明沒找到,重新開始找。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章