<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 華為上機(jī)考試題

    時(shí)間:2024-10-27 17:49:48 華為認(rèn)證 我要投稿
    • 相關(guān)推薦

    2016年華為上機(jī)考試題

      本文為大家分享的是2016最新的華為認(rèn)證上機(jī)模擬考試題,希望對(duì)大家的復(fù)習(xí)有所幫助!

    2016年華為上機(jī)考試題

      1 (1) 字母大小寫反轉(zhuǎn)

      這到題沒什么可說(shuō)的,只是我很久沒寫這樣要IO輸入輸出的代碼,當(dāng)時(shí)看到華為的提示紙條上寫著“只能使用stdin方式輸入”,還愣了一會(huì):一定是我打開方式不對(duì),什么時(shí)候有了一個(gè)stdin的輸入函數(shù)?難道我又學(xué)藝不精了……后面才反應(yīng)過(guò)來(lái),直接按英文字面意思理解為“只能使用標(biāo)準(zhǔn)輸入方式”就好了。好了,言歸正傳,回到這道題,至少可以用以下兩種方式:

      C++ STL庫(kù)string中 有 isupper , islower , toupper ,tolower 函數(shù)

      通過(guò) +/- ('a'-'A'+0)

      (2) n個(gè)人圍成一圈,從第1個(gè)人開始報(bào)數(shù),每報(bào)到第m個(gè)人,則其出局,求最后出局的人的初始序號(hào)。

      第1種方法,我當(dāng)時(shí)是用了個(gè)狀態(tài)表來(lái)記錄這人有沒有出局,沒出局則報(bào)數(shù)計(jì)數(shù)器加1并玩下走,碰到第m個(gè)報(bào)數(shù)號(hào)則更新狀態(tài)為已出局,碰到隊(duì)伍最末則重新移動(dòng)到隊(duì)首。

      #include

      #define N 4

      #define M 3

      using namespace std;

      int *man = NULL;

      int JosephusSol_statusTab(int n,int m)

      {

      int sn=0 , pos = 0 ,loop_pos=0;

      do

      {

      if( man[pos] == 0 ){//此人未出局

      loop_pos++;

      if(loop_pos == m){//找到一輪報(bào)數(shù)的出局者

      sn++;

      man[pos] = sn ; // 標(biāo)記出局序號(hào)

      loop_pos = 0;

      }

      }

      pos ++ ;

      if(pos==n)

      pos = 0;

      }while(sn!=n);

      return pos;

      }

      int main()

      {

      int sn=0 , pos = 0 ,loop_pos=0;

      man = new int [N];

      for(int i=0;i

      man[i] = 0;

      pos = JosephusSol_statusTab(N,M);

      cout << pos <

      if(man != 0)

      delete [] man;

      return 0;

      }

      第2種方法是雙向鏈表,技術(shù)面面試的時(shí)候,面試官就考了我這一題,在紙上快速寫代碼的能力還是有所欠缺。

      第3種方法是遞歸,

      第0次報(bào)數(shù)(即初始排列狀態(tài))如下:

      1

      2

      ……

      n

      第1次報(bào)數(shù)到m,剔除后的序列為:

      m+1

      m+2

      …

      n

      1

      2

      …

      m-1

      重新編號(hào)的話為:

      1

      2

      …

      n-m

      n-m+1

      n-m+2

      …

      n-1

      設(shè)f(n,m)為n個(gè)人的隊(duì)伍,剔除報(bào)數(shù)人m,最后留下的人的序號(hào);f(n-1,m)為n-1個(gè)人的隊(duì)伍,剔除報(bào)數(shù)人m,最后留下的人的序號(hào)。則有:

      考慮到第1次報(bào)數(shù)后的序列號(hào)n的情況,可得到統(tǒng)一的公式為:

      這就是這個(gè)問(wèn)題的一個(gè)遞歸公式,實(shí)現(xiàn)代碼如下:

      #include < iostream >

      using namespace std;

      int JosephusSol_mathRecursion( int n, int m)

      {

      if (n == 1 )

      return 1 ;

      else

      return (JosephusSol_mathRecursion(n - 1 ,m) + m - 1 ) % n + 1 ;

      }

      int main()

      {

      cout << JosephusSol_mathRecursion( 4 , 3 ) << endl ;

      return 0 ;

      }

      3.兩段長(zhǎng)度為1-5000變換的單詞word1,word2,設(shè)計(jì)一個(gè)字母權(quán)重分配方案:該方案中不區(qū)分大小寫字母;該方案A-Z的字母唯一對(duì)應(yīng)一個(gè)1-26的數(shù);該方案滿足word1的字母權(quán)重和與word2的字母權(quán)重和的差值最大 。

      這個(gè)問(wèn)題是實(shí)質(zhì)是比較單詞,剔除相同的部分,看哪個(gè)剩余部分多,剩余多的單詞部分再進(jìn)行一個(gè)字母頻率從大到小排列,頻率最高的給最大的權(quán)重——26,頻率低一些的依次給剩余的最大權(quán)重;剩余的單詞部分再進(jìn)行一個(gè)字母頻率也是從大到小排列,只不過(guò)頻率最高的給最小的權(quán)重——1,頻率高一些的依次給剩余的最小權(quán)重。

      至于實(shí)現(xiàn),若是先直接比較單詞,再字母頻率統(tǒng)計(jì),工作量有點(diǎn)大。可以考慮直接用 字母表A-Z為索引,將單詞裝換為字母表A-Z的編碼(更形象點(diǎn),即將雜亂的單詞變成一個(gè)26進(jìn)制數(shù),當(dāng)然這樣沒有包含單詞的全部信息——字母在單詞中的排序就不知道,所以可以裝換成26個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)還含有一個(gè)排序數(shù)組,如單詞daddy,相對(duì)應(yīng)的d節(jié)點(diǎn)下就含有一個(gè)size為3的數(shù)組,有sn['d'][3]={0,2,3}。當(dāng)然本題只需要一個(gè)量就是size['d']=3。)

      #include

      #include

      #include

      using namespace std;

      int main()

      {

      string str1("mother"),str2("father");

      // string str1,str2;

      // cin >> str1 >> str2;

      size_t i = 0 ,j =0;

      vector status1(26,0);

      vector status2(26,0);

      vector diff(26,0);

      vector negative(26,0);

      vector positive(26,0);

      int cntNeg = 0 , cntPos = 0;

      for( i = 0; i< str1.size(); i++)

      {

      char c = str1[i];

      if( 'a'<=c && c <= 'z' ){

      status1[c -'a' + 0]++;

      }

      if( 'A'<=str1[i] && str1[i] <= 'Z' ){

      status1[c-'A'+ 0]++;

      }

      }

      for( i = 0; i< str2.size(); i++)

      {

      char c = str2[i];

      if( 'a'<=str2[i] && str2[i] <= 'z' ){

      status2[c -'a' + 0]++;

      }

      if( 'A'<=str2[i] && str2[i] <= 'Z' ){

      status2[c -'A' + 0]++;

      }

      }

      for( i = 0; i< 26; i++){

      diff[i] = status2[i] - status1[i];

      if(diff[i]<0)

      {

      negative[i] = -diff[i];

      cntNeg += negative[i];

      }

      else

      {

      positive[i] = diff[i];

      cntPos += positive[i];

      }

      }

      for( i = 0; i< 26; i++)

      cout << ' '<< status1[i] <<' '<< status2[i] <<' '<< diff[i] << endl;

      int tmp= 0;

      int a[26],b[26];

      cout << ' '<< cntNeg <<' '<< cntPos;

      for( i = 0 ; i < 26;i++ )

      {

      a[i] = 26-i;

      b[i] = i+1;

      }

      for( i = 0 ; i < 26;i++ )

      for(j = i+1 ;j <26;j++)

      {

      if( negative[i] < negative[j] ){

      tmp = negative[i];

      negative[i] = negative[j];

      negative[j] = tmp;

      }

      }

      for( i = 0 ; i < 26;i++ )

      for(j = i+1 ;j <26;j++)

      {

      if( positive[i] < positive[j] ){

      tmp = positive[i];

      positive[i] = positive[j];

      positive[j] = tmp;

      }

      }

      int out=0 , large = 0, small =0 ;

      for( i = 0 ; i < 26;i++ )

      {

      if( cntNeg >= cntPos ) {

      large += a[i]*negative[i];

      small += b[i]*positive[i];

      }

      else{

      large += a[i]*positive[i];

      small += b[i]*negative[i];

      }

      }

      out = large - small;

      cout << out ;

      return 0;

      }

      2.華為2013年在長(zhǎng)沙的一個(gè)機(jī)試題是判斷潤(rùn)年。年份要求是四位數(shù)。

      輸入樣例:

      2012

      2122

      afdsfa

      22.33

      輸出樣例:

      YES

      NO

      ERROR

      我的答案是:

      Java代碼 收藏代碼

      package cn.william;

      import java.awt.event.ActionEvent;

      import java.awt.event.ActionListener;

      import javax.swing.JFrame;

      import javax.swing.JLabel;

      import javax.swing.JTextField;

      public class Test extends JFrame{

      private JLabel lable;

      private JTextField field;

      public static void main(String[] args){

      Test frame = new Test();

      frame.init();

      }

      public void init(){

      this.setSize(400, 250);

      this.setLayout(null);

      lable = new JLabel("請(qǐng)輸入年份:");

      field = new JTextField();

      lable.setBounds(140, 90, 120, 30);

      field.setBounds(140, 120,120, 30);

      this.add(field);

      this.add(lable);

      this.setVisible(true);

      field.addActionListener(new ActionListener() {

      @Override

      public void actionPerformed(ActionEvent e) {

      String year = field.getText().toString();

      if(year.length() != 4){

      System.out.println("ERROR");

      return;

      }

      int y = 0;

      try{

      y = Integer.parseInt(year);

      }catch(Exception ex){

      System.out.println("ERROR");

      return;

      }

      check(y);

      }

      });

      }

      private void check(int year){

      if(year == 0){

      System.out.println("ERROR");

      return;

      }

      if(year % 100 == 0){

      if(year % 400 == 0){

      System.out.println("YES");

      }else{

      System.out.println("NO");

      }

      }else{

      if(year % 4 == 0){

      System.out.println("YES");

      }else{

      System.out.println("NO");

      }

      }

      }

      }


    【華為上機(jī)考試題】相關(guān)文章:

    華為Java上機(jī)考試題03-29

    華為上機(jī)試題匯總01-23

    2016年華為認(rèn)證考試題及答案03-10

    2016年華為認(rèn)證考試題庫(kù)02-26

    2016年華為hcie認(rèn)證考試題庫(kù)03-10

    2016年華為HCDA認(rèn)證考試題庫(kù)03-28

    2016年計(jì)算機(jī)等級(jí)考試上機(jī)考試題03-19

    華為認(rèn)證詳解03-19

    華為的績(jī)效管理03-18

    主站蜘蛛池模板: 亚洲精品tv久久久久| 亚洲国产一成久久精品国产成人综合| 精品视频久久久久| 国内精品久久久久久久涩爱| 国产精品麻豆入口| 欧美午夜精品久久久久久浪潮| 久久人搡人人玩人妻精品首页| 久久久无码精品午夜| 亚洲精品自产拍在线观看| 久久精品人人做人人爽电影蜜月| 91视频精品全国免费观看| 91精品啪在线观看国产电影 | 精品久久香蕉国产线看观看亚洲| 538国产精品一区二区在线| 免费精品99久久国产综合精品| 热99re久久国超精品首页| 国产精品99久久久久久董美香| 亚洲国产精品自在拍在线播放| 国产综合精品一区二区三区| 国产精品哟女在线观看| 亚洲午夜精品久久久久久浪潮| 国产亚洲精品岁国产微拍精品| 91精品国产成人网在线观看 | 亚洲日韩国产精品乱| 99精品国产一区二区三区2021| 国产精品久久久天天影视香蕉| 自拍中文精品无码| 丝袜美腿国产精品视频一区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲av永久无码精品国产精品| 久久久国产精品网站| 亚洲乱码国产乱码精品精| 99九九精品免费视频观看| 国产精品无码一区二区三级| 国产一区二区三区欧美精品| 99在线精品视频| 国内揄拍高清国内精品对白| 一区二区三区国产精品| 国内精品久久久久久久97牛牛| 日本精品一区二区久久久| 亚洲精品人成在线观看|