華為 5月20日機試題

2021-10-06 12:25:48 字數 2199 閱讀 6107

node有2個屬性,

輸入乙個node鍊錶collection,及分組標識splitter:string,將node.name==splitter作為分組條件,對傳入的node鍊錶進行分組。

1.1輸入描述:

第一行是分組條件,是乙個字串

第二行開始,每行是乙個node例項,ex:1,name1

1.2輸出描述:

第一行輸出分組總數

第二行開始,每行輸出分組後的node,每行乙個分組,node例項間使用|做為分隔符,輸出順序與輸入順序保持一致

1.3示例1

(輸入輸出示例僅供除錯,後台判題資料一般不包含示例)

輸入

*

1,name1

2,name2

3,*4,name4

5,name5

輸出

2

1,name1|2,name2

4,name4|5,name5

備註:

輸入不滿足要求,輸出為0

只滿足正確輸入,不正確輸入時,不符合!

#include

#include

#include

typedef

struct node

node;

intmain

(void);

node arr[

1000];

scanf

("%s"

,&splitter)

;while

(scanf

("%d,%s"

,&arr[i]

.id,

&arr[i]

.name)

!=eof

) i++;}

else

}//輸入一組為不合法

if(i<2)

printf

("%d\n"

, count +1)

;for

(int j =

0; j < i; j++

)else

else}}

}

2.1題目描述

給定乙個有向圖,假定最多10個節點,節點編號依次為a~j,如果a節點到b節點之間有通路則描述為a->b,多條邊的描述之間以分號隔開,給定乙個有向圖,求該有向圖中的所有環路,環路以節點編號的最小的節點開始輸出,假定乙個有向圖最多乙個環路,如果沒有環路則輸出空字串「-」。輸入為連線鍊錶。

2.2輸入描述:

輸入為連線鍊錶字串,如 :a->b;b->d;c->b;c->e;d->c

2.3輸出描述:

環路節點組成的字串,如:輸出字串bdc,標識b->d->c->b組成環路

2.4示例1

輸入a->b;b->d;c->b;c->e;d->c

輸出bdc

package main

import (

"fmt"

"regexp"

"strings"

)//字元轉數字,如a->0

func a2i

(r uint8)

intfunc i2a

(i int

) string

var find=false

func dfs

(i int

,adjacenttable [

]int

,used [

]bool,path [

]int

)if find

}return

}else

used[i]

=false }}

func main()

adjacenttable:

=make([

][]int,10

) paths:

=strings.

split

(input,

";")

for _,p:

=range paths

used:

=make([

]bool,10)

path:=[

]int

dfs(

0,adjacenttable,used,path)

if!find

}

華為機試題(5)

第一題 整數化成字串 給定乙個整數 有可能是負數 將整數變成字串。函式已經宣告好類似void change int number,char s 的形式。可以自己寫用例測試。cpp view plain copy print?include include void change int number...

9月5日,華為2014校園招聘的機試題目

9月5日,華為2014校園招聘的機試題目 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1 僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2 壓縮欄位的格式為...

2013華為校園招聘機試題9月10日題(杭州)

2013華為校園招聘機試題9月10日題 杭州 題目部分 1 2 3題目描述 60分 4通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串 現多個相同的字元,將非首次出現的字元過濾掉。5比如字串 abacacde 過濾結果為 abcde 67 要求實現函式 8void str...