<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 攜程在線測試題答案

    時間: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

    主站蜘蛛池模板: 老年人精品视频在线| 亚洲国产小视频精品久久久三级 | 91精品成人免费国产片| 亚洲精品~无码抽插| 国产精品视频全国免费观看| 99国产精品一区二区| 亚洲国产一成人久久精品| 久久精品国产99国产精品| 久久99精品国产99久久6男男| 亚洲国产精品一区第二页| 国产精品无码久久久久| 久久精品国产精品亚洲精品 | 国产精品亚洲专区在线观看 | 国产在线观看一区二区三区精品| 国产福利视精品永久免费 | 国产精品成人免费福利| 日韩精品无码一区二区三区| 色婷婷噜噜久久国产精品12p| 精品97国产免费人成视频| 2021国产三级精品三级在专区| 99国产精品无码| 国语精品一区二区三区| 伊人精品视频在线| 人人妻人人澡人人爽精品欧美| 国产精品无码国模私拍视频| 国产精品成人无码久久久久久| 精品视频一区二区三区在线观看 | 亚洲精品高清无码视频| 国产乱人伦偷精品视频| 2021年精品国产福利在线 | 婷婷成人国产精品| 精品国产一级在线观看| 国产精品白丝jkav网站| 一区二区三区精品| 亚洲国语精品自产拍在线观看| 精品久久久久久久| 国产在线拍揄自揄视精品不卡| 凹凸69堂国产成人精品视频| 91精品国产综合久久精品| 99久久久精品免费观看国产| 91精品国产高清91久久久久久|