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

    時(shí)間:2024-06-29 01:24:19 公開(kāi)教育 我要投稿
    • 相關(guān)推薦

    攜程在線測(cè)試題答案

      試題一:

    攜程在線測(cè)試題答案

      乘積最大:

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

      示例代碼:

      #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;

      }

      拼圖:

      經(jīng)典問(wèn)題,廣度優(yōu)先搜索

      示例代碼:

      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;

      }

      股票交易:

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

      示例代碼:

      #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();

      }

      }

      求這段程序的輸出。

      來(lái)自 未老莫還鄉(xiāng) 的評(píng)論:

      【不要在構(gòu)造器里調(diào)用可能被重載的虛方法,這是極度危險(xiǎn)的】。構(gòu)造器的初始化順序大概是 父類(lèi)靜態(tài)塊 子類(lèi)靜態(tài)塊 父類(lèi)初始化語(yǔ)句 父類(lèi)構(gòu)造函器 子類(lèi)初始化語(yǔ)句 子類(lèi)構(gòu)造器。父類(lèi)構(gòu)造器執(zhí)行的時(shí)候,調(diào)用了子類(lèi)的重載方法,然而子類(lèi)的類(lèi)字段還在剛初始化的階段,剛完成內(nèi)存布局,只能輸出null。

      來(lái)自 ihuning 的精華評(píng)論:

      看我大師歸來(lái):

      1. Base b = new Sub();

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

      3. 類(lèi)加載器加載 Base,Sub 類(lèi)到j(luò)vm;

      4. 為Base,Sub 類(lèi)中的兩個(gè)屬性baseName 分配存儲(chǔ)空間,但是不初始化;

      注意:屬性的初始化時(shí)放在構(gòu)造器中,按照代碼順序執(zhí)行的。

      5. new Sub會(huì)調(diào)用Sub的無(wú)參構(gòu)造器,而在這個(gè)構(gòu)造器中會(huì)隱式調(diào)用父類(lèi)Base的無(wú)參構(gòu)造器;

      6. 父類(lèi)Base的構(gòu)造器中代碼本質(zhì)是

      public Base()

      {

      baseName = "base";

      callName();

      }

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

      7. 因?yàn)楦割?lèi)構(gòu)造器方法是在子類(lèi)中調(diào)用的,即大環(huán)境是子類(lèi)。此時(shí),調(diào)用的方法callName()當(dāng)然是指子類(lèi)的方法。而這個(gè)方法打印的屬性baseName當(dāng)然也是子類(lèi)的。那現(xiàn)在子類(lèi)的屬性baseName的值是多少呢?答案是null.因?yàn)榇藭r(shí)子類(lèi)Sub的構(gòu)造器內(nèi)代碼本質(zhì)是:

      super();

      baseName="sub";

      此時(shí)baseName="sub"還沒(méi)執(zhí)行。

      因此,左后的值當(dāng)然是null.

    【攜程在線測(cè)試題答案】相關(guān)文章:

    iq測(cè)試題及答案02-24

    智力測(cè)試題及答案06-12

    智商測(cè)試題及答案10-02

    情商測(cè)試題及答案02-24

    愛(ài)情測(cè)試題及答案02-24

    eq測(cè)試題及答案02-24

    行政能力測(cè)試題及答案02-24

    心理測(cè)試題目及答案02-24

    iq智商測(cè)試題及答案10-19

    主站蜘蛛池模板: 精品国产毛片一区二区无码| 日韩精品无码永久免费网站 | 日韩精品无码一区二区三区| 四虎成人www国产精品| 亚洲韩国精品无码一区二区三区| 国产精品成人啪精品视频免费| 91精品视频网站| 无码日韩人妻精品久久蜜桃 | 欧美黑人巨大videos精品| 91精品视频在线| 国产精品久久久久9999高清| 精品国产a∨无码一区二区三区| 亚洲爆乳精品无码一区二区 | 国产精品永久免费| 91人前露出精品国产| 国产成人精品日本亚洲专一区| 亚洲国产精品无码久久久蜜芽| 久久99精品久久久久久野外| 四虎国产精品免费入口| 国产夫妇精品自在线| 91精品国产高清91久久久久久| 久久精品欧美日韩精品| 日韩人妻无码精品久久免费一| 亚洲成人国产精品| 午夜精品久久久久久| 亚洲精品人成无码中文毛片| 无码人妻一区二区三区精品视频| 精品国产日韩亚洲一区| 国产日韩久久久精品影院首页 | 精品国产三级a∨在线欧美| 亚洲国产精品无码久久SM| 亚洲国产美女精品久久久久∴| 天天爽夜夜爽8888视频精品| 精品露脸国产偷人在视频| 国产精品麻豆欧美日韩ww| 国产精品福利在线观看免费不卡| 亚洲精品欧美综合在线| 51国偷自产精品一区在线视频| 99国产精品私拍pans大尺度| 91精品久久久久久无码| 国产精品美女久久久网AV|