中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      攜程在線測試題答案

      時間:2024-06-29 01:24:19 公開教育 我要投稿
      • 相關推薦

      攜程在線測試題答案

        試題一:

      攜程在線測試題答案

        乘積最大:

        嘗試不同的拆分方法,dp求解或者找規律

        示例代碼:

        #include

        #include

        #include

        #include

        #define maxn 109

        using namespace std;

        long long dp[maxn][maxn];

        int solve(int n){

        long long ans = 0;

        for(int i = 0; i <= n; i++)

        ans = max(ans, dp[n][i]);

        return ans;

        }

        int main(){

        int n;

        cin >> n;

        for(int i = 0; i <= n; i++)

        dp[0][i] = 1;

        for(int i = 1; i <= n; i++){

        for(int j = 1; j <= i; j++){

        for(int k = 0 ; k < j; k++)

        dp[i][j] = max(dp[i][j], dp[i - j][k] * j);

        }

        }

        cout << solve(n) << endl;

        return 0;

        }

        拼圖:

        經典問題,廣度優先搜索

        示例代碼:

        import java.io.*;

        import java.util.*;

        import java.text.*;

        import java.math.*;

        import java.util.regex.*;

        import java.util.Scanner;

        import java.util.Set;

        import java.util.HashSet;

        import java.util.ArrayList;

        import java.lang.StringBuilder;

        public class Main{

        public static String destNumbers = "123456780";

        public static Set set = new HashSet();

        public static int[]moveTable = new int[]{12,14,10,13,15,11,5,7,3};

        public static ArrayList getNextMoveList(Node pNode){

        int position = pNode.numbers.indexOf("0");

        int moveStatus = moveTable[position];

        ArrayList cNodes = new ArrayList();

        for(int status=1; status <=8; status=status<<1){

        if((moveStatus & status) > 0){

        char[] charNumbers = pNode.numbers.toCharArray();

        int switchPosition = 0;

        if(status == 1){

        switchPosition = position - 3;

        } else if(status == 2){

        switchPosition = position - 1;

        } else if(status == 4){

        switchPosition = position + 1;

        } else if(status == 8){

        switchPosition = position + 3;

        }

        charNumbers[position] = charNumbers[switchPosition];

        charNumbers[switchPosition] = '0';

        String s = String.valueOf(charNumbers);

        if(!set.contains(Integer.valueOf(s))){

        set.add(Integer.valueOf(s));

        Node n = new Node(pNode, s, charNumbers[position]);

        cNodes.add(n);

        }

        }

        }

        return cNodes;

        }

        static int getResult(Node node){

        String result = "";

        while(node.parentNode != null){

        result += node.currentNum;

        node = node.parentNode;

        }

        return new StringBuffer(result).reverse().toString().length();

        }

        static int run(String numbers){

        if(numbers.equals(destNumbers)){

        return 0;

        }

        ArrayList numsList = new ArrayList();

        numsList.add(new Node(null, numbers, ' '));

        while(numsList.size() > 0){

        ArrayList tmpList = new ArrayList();

        for(Node pNode : numsList){

        ArrayList cNodes = getNextMoveList(pNode);

        for(Node cNode : cNodes){

        if(cNode.numbers.equals(destNumbers)){

        return getResult(cNode);

        }

        tmpList.add(cNode);

        }

        }

        numsList = tmpList;

        }

        return -1;

        }

        public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        String numbers = new String();

        for(int rows=3; rows>0; rows--){

        for(String n: scan.nextLine().split(" ")){

        numbers += n;

        }

        }

        int res = run(numbers);

        System.out.println(String.valueOf(res));

        }

        }

        class Node {

        public Node(Node parentNode, String numbers, char currentNum){

        this.numbers = numbers;

        this.currentNum = currentNum;

        this.parentNode = parentNode;

        }

        public char currentNum;

        public String numbers;

        public Node parentNode;

        }

        股票交易:

        掃描序列,按照題意判斷冷卻時間,然后更新答案

        示例代碼:

        #include

        #include

        #include

        #include

        using namespace std;

        int a[1000006],dp[1000006];

        int main(){

        int n,k;

        scanf("%d",&n);

        for(int i=1;i<=n;i++) scanf("%d",&a[i]);

        scanf("%d",&k);

        int cur=-1000000000, ans=0;

        for(int i=1;i<=n;i++)

        {

        dp[i]=max(a[i]+cur, dp[i-1]);

        if(i>=k)

        cur=max(cur, dp[i-k]-a[i]);

        else

        cur=max(cur, -a[i]);

        ans=max(ans, dp[i]);

        }

        printf("%d\n",ans);

        }

        試題二:

        public class Base

        {

        private String baseName = "base";

        public Base()

        {

        callName();

        }

        public void callName()

        {

        System. out. println(baseName);

        }

        static class Sub extends Base

        {

        private String baseName = "sub";

        public void callName()

        {

        System. out. println (baseName) ;

        }

        }

        public static void main(String[] args)

        {

        Base b = new Sub();

        }

        }

        求這段程序的輸出。

        來自 未老莫還鄉 的評論:

        【不要在構造器里調用可能被重載的虛方法,這是極度危險的】。構造器的初始化順序大概是 父類靜態塊 子類靜態塊 父類初始化語句 父類構造函器 子類初始化語句 子類構造器。父類構造器執行的時候,調用了子類的重載方法,然而子類的類字段還在剛初始化的階段,剛完成內存布局,只能輸出null。

        來自 ihuning 的精華評論:

        看我大師歸來:

        1. Base b = new Sub();

        2. Base b = 直接忽略,從 new Sub();開始

        3. 類加載器加載 Base,Sub 類到jvm;

        4. 為Base,Sub 類中的兩個屬性baseName 分配存儲空間,但是不初始化;

        注意:屬性的初始化時放在構造器中,按照代碼順序執行的。

        5. new Sub會調用Sub的無參構造器,而在這個構造器中會隱式調用父類Base的無參構造器;

        6. 父類Base的構造器中代碼本質是

        public Base()

        {

        baseName = "base";

        callName();

        }

        即父類的屬性baseName 的值為base。但為何輸出null,騷年別急。

        7. 因為父類構造器方法是在子類中調用的,即大環境是子類。此時,調用的方法callName()當然是指子類的方法。而這個方法打印的屬性baseName當然也是子類的。那現在子類的屬性baseName的值是多少呢?答案是null.因為此時子類Sub的構造器內代碼本質是:

        super();

        baseName="sub";

        此時baseName="sub"還沒執行。

        因此,左后的值當然是null.

      【攜程在線測試題答案】相關文章:

      iq測試題及答案02-24

      智力測試題及答案06-12

      智商測試題及答案10-02

      情商測試題及答案02-24

      愛情測試題及答案02-24

      eq測試題及答案02-24

      行政能力測試題及答案02-24

      心理測試題目及答案02-24

      iq智商測試題及答案10-19

      主站蜘蛛池模板: 蜜臀av国内精品久久久较| 久久无码高潮喷水抽搐| 亚洲国产精品一区二区第一| 久久道精品一区二区三区| 亚洲色欲色欲大片WWW无码| 日韩成人精品日本亚洲| 亚洲国产综合性感三级自拍| 国产成人综合亚洲av| 竹山县| 果冻国产一区二区三区| 国产未成女年一区二区 | 日韩美无码一区二区三区 | 日韩最新av一区二区| 国产激情视频免费观看| 成人特黄特色毛片免费看| 亚洲高清视频在线播放| 锡林浩特市| 徐闻县| 浦县| 莒南县| 桓台县| 星子县| 国产成人精品cao在线| 遵义县| 揭西县| 抚顺市| 武强县| 特级毛片全部免费播放a一级| 龙门县| 国产福利97精品一区二区| 永安市| 久久婷婷国产精品简爱av| 冀州市| 亚洲乱熟女一区二区三区不卡 | 阳西县| 清水河县| 97色综合| 水蜜桃视频在线观看免费18| 人妻精品一区二区免费| 美女极度色诱视频国产免费| 日本一区二区三区四区不卡视频|