<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            去哪兒校招杭州站軟件研發筆試題

            時間:2020-11-07 10:15:09 筆試題目 我要投稿

            2015去哪兒校招杭州站軟件研發筆試題

              9月23日參加去哪兒筆試題目了,我投的是研發崗位,筆試題目是三道程序設計題目。

            2015去哪兒校招杭州站軟件研發筆試題

              參加筆試的時候用c寫的,處理字符串很麻煩。由于時間關系,第三題邏輯有點不清粗。回來之后,我就把題目又用java寫了一遍。現在對第三題仍然不能夠完全解答出來。

              1,String padString(String string,int minLength,char padChar);

              就是在string前用padChar把string填充到至少minLength長度

              如("7",3'0'),得到的結果是"007";

              如("2012",3,'0'),的到的結果是"2012”;

              minLength可能是負數

              public class padString {

              public static void main(String[] args) {

              // TODO Auto-generated method stub

              }

              String padString(String string,int minLength,char padChar){

              if(minLength

              {

              return string;

              }

              StringBuilder sb = new StringBuilder();

              int pads = minLength - string.length();

              for(int i=0;i

              {

              sb.append(padChar);

              }

              sb.append(string);

              return sb.toString();

              }

              }

              2,命令解析

              對于命令

              -name jack -age 20 -address "HangZhou ZheDa Road"

              要變成[-name jack, -age 20, -address "HangZhou ZheDa Road"]

              命令由參數和值對組成,參數以-開頭,參數和值之間,值和值之間都是用空格隔開,雙引號“ ”之間的值當做一個整體

              來處理。所有參數和值只包括英文字母,數字,減號和雙引號

              public class CommandParser {

              public static void main(String[] args) {

              CommandParser cp = new CommandParser();

              String res = null;

              res = cp.parseCommand("-name jack -age 20 -address \"HangZhou ZheDa Road\"");

              System.out.println(res);

              res = cp.parseCommand(" -name jack -age 20 -address \"HangZhou ZheDa Road\"");

              System.out.println(res);

              res = cp.parseCommand("-name jack -age 20 -address \"HangZhou ZheDa Road\"");

              System.out.println(res);

              res = cp.parseCommand("-name jack -age 20 -address \"HangZhou ZheDa Road \" ");

              System.out.println(res);

              }

              String parseCommand(String com)

              {

              //分解成多個參數-值對

              String pars[] = com.split("-");

              StringBuilder sb = new StringBuilder();

              sb.append("[-");

              String words[]=null;

              //循環抽取其中的命令和值

              for(int i=0;i

              {

              String tmp = pars.trim();

              //判斷這個值是否是非空格

              if(tmp!=null&&tmp.length()>0)

              {

              int j = tmp.indexOf(' ');

              int k = j;

              sb.append(tmp.substring(0,j));

              sb.append(' ');

              //找到下一個空格的地方

              while(k

              {

              k++;

              }

              sb.append(tmp.substring(k));

              if(i!=pars.length-1)

              {

              sb.append(',');

              }else

              {

              sb.append(']');

              }

              }

              }

              return sb.toString();

              }

              }

              3,dif(String str1,String str2);

              輸出兩個字符串中不同的的'字符,如果字符a在str1中出現,而沒有在str2當中出現,則輸出-a.相反,則輸出+a;

              字符串當中重復的子字符串不輸出。

              abcde,bcde 輸出-a

              dabc, aabcef 輸出+a,-d,+e,+f

              如 abcdefe,aabcadef輸出+a,+a,-e;

              public class StringDifferent {

              public static void main(String[] args) {

              StringDifferent sd = new StringDifferent();

              String res = null;

              res = sd.strDif("abcde", "bcde");

              System.out.println(res);

              res = sd.strDif("dabc", "aabcef");

              System.out.println(res);

              res = sd.strDif("abcdefg", "abcdefg");

              System.out.println(res);

              res = sd.strDif("abfg", "abcdefg");

              System.out.println(res);

              res = sd.strDif("afsdlf", "sdlfajsdlfjsd");

              System.out.println(res);

              }

              //這道題目相當于最長公共子序列的改進版,字符串進行二維存儲了之后,就沿著相應的規則下來

              //這樣做不知道對不對,只能這樣寫了

              String strDif(String str1, String str2) {

              StringBuilder sb = new StringBuilder();

              String tmp = null;

              // if(str1.length()>str2.length())

              // {

              // tmp = str1;

              // str1 = str2;

              // str2 = tmp;

              // }

              int dp[][] = new int[str1.length()+1][str2.length()+1];

              int len1 = str1.length();

              int len2 = str2.length();

              //進行dp的方法

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

              {

              for(int j=1;j<=len2;j++)

              {

              if(str1.charAt(i-1)==str2.charAt(j-1))

              {

              dp[j] = dp[i-1][j-1]+1;

              }

              }

              }

              // for(int i=0;i<=len1;i++)

              // {

              // for(int j=0;j<=len2;j++)

              // {

              // System.out.print(dp[j]+",");

              // }

              // System.out.println();

              // }

              int i = len1,j = len2;

              //如何獲取其中的字符串

              while(i>=0 && j>=0)

              {

              if(dp[j]==0)

              {

              if(i

              {

              tmp = "+"+str2.charAt(j-1);

              sb.insert(0, tmp);

              j--;

              }else

              {

              //判斷到頭的情況

              if(i==j && j==0)

              {

              break;

              }

              tmp = "-"+str1.charAt(i-1);

              sb.insert(0, tmp);

              i--;

              }

              }else{

              i--;

              j--;

              }

              }

              return sb.toString();

              }

              }

            【2015去哪兒校招杭州站軟件研發筆試題】相關文章:

            2015阿里校招研發工程師筆試題08-13

            網易2015校招筆試題09-09

            2015阿里校招運營專員筆試題08-21

            去哪兒2015校園招聘產品經理筆試題11-24

            京東2015應屆生校招筆試題09-14

            騰訊校招筆試題01-16

            2015百度校招產品經理筆試題目08-19

            2015年百度校招產品經理筆試題07-26

            阿里巴巴2015校招筆試題(含答案、解析)09-05

            騰訊校招筆試題目12-20

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看