華為機試題

2021-10-04 06:17:03 字數 1882 閱讀 6255

linux中的makefile中的目錄結構一般是這樣:

aaa=home

bbb=$/zhmf

ccc=$/user/lib

試題要求在輸入n行類似上述字串後輸出最後一行將$替換後的完整字串。例如:

輸入:

4 aaa=home

bbb=$/zhmf/$

ccc=music

ddd=$/dj/join

輸出: home/zhmf/music/dj/join

**如下:

#include

#include

#include

#include

#include

using

namespace std;

map m_kv;

void

mysplit

(const string& src, vector

& v,

const

char mark =

',')

}string makestr

(const vector

& v)

return ret;

}return v[0]

;}string getkey

(const string& str)')

-2);

auto value = m_kv[key]

;//如果value又是key?

// aaaa=hello/$

// aaa=bbb/$/ccc/$

vector v_tmp;

mysplit

(value, v_tmp,

'/')

; string retstr;

vector v_str;

for(

int i =

0; i < v_tmp.

size()

; i++

)return

makestr

(v_str)

;// return getkey(v_tmp[i]);

}return str;

}void

func()

/ccc/$

vector v_s;

vector v_k;

int num;

cin >> num;

for(

int i =

0; i < num; i++

)/*int num = 4;

v_s.push_back("aaa=hello");

v_s.push_back("bbb=$/world/$");

v_s.push_back("ccc=yes");

v_s.push_back("ddd=$/the/$/$/over");*/

//mapm_kv;

for(

int i =

0; i < v_s.

size()

; i++)}

//m_kv.at()

vector v_last;

//bbb/$/ccc/$

mysplit

(m_kv[v_k[num -1]

], v_last,

'/')

;for

(int i =

0; i < v_last.

size()

; i++

) std::cout <<

"over "

<<

makestr

(v_last)

<< std::endl;

}

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...

華為機試題

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...

華為機試題

1.輸入乙個字串,將字串中的非字母字元刪除,保留字串中的小寫字母,將大寫字母變為小寫字母,然後輸出字串。比如 輸入 sdf sfjadf sdf 輸出 sdfsfjadfsdf 2.n進製數求和,輸入乙個整數n 2 n 35 兩個字串,字串中的字元一定是0 9或者a z 10 35 中的,輸出兩個字...