簡單的練練手(華為機試題)

2021-06-26 23:47:58 字數 1559 閱讀 2965

//刪除子串,只要是原串中有相同的子串就刪掉,不管有多少個,返回子串個數

#include#includeusing namespace std;

int deletesub(string &str,const string &sub,int);

int main()

;node *creat(int n)

p->next=head;

return p;

}int main()

while(l->next!=l)

cout";

q->next=l->next;

delete l;

l=q->next;

} cout約瑟夫環變種: 

輸入乙個由隨機數組成的數列(數列中每個數均是大於0的整數,長度已知),和初始計數值m。從數列首位置開始計數,計數到m後,將數列該位置數值替換計數值m,並將數列該位置數值出列,然後從下一位置從新開始計數,直到數列所有數值出列為止。如果計數到達數列尾段,則返回數列首位置繼續計數。請程式設計實現上述計數過程,同時輸出數值出列的順序

比如: 輸入的隨機數列為:3,1,2,4,初始計數值m=7,從數列首位置開始計數(數值3所在位置)

第一輪計數出列數字為2,計數值更新m=2,出列後數列為3,1,4,從數值4所在位置從新開始計數

第二輪計數出列數字為3,計數值更新m=3,出列後數列為1,4,從數值1所在位置開始計數

第三輪計數出列數字為1,計數值更新m=1,出列後數列為4,從數值4所在位置開始計數

最後一輪計數出列數字為4,計數過程完成。

輸出數值出列順序為:2,3,1,4。

• 要求實現函式: 

void array_iterate(int len, int input_array, int m, int output_array)

【輸入】 int len:輸入數列的長度;

int intput_array:輸入的初始數列

int m:初始計數值

【輸出】 int output_array:輸出的數值出列順序

【返回】 無

• 示例 

輸入:int input_array = ,int len = 4, m=7

輸出:output_array = 

#includeusing namespace std;

struct node;

node *creat(int len,int *input_array)

p->next=head;

return p;

}int main()

m=l->num;

output_array[n++]=l->num;

q->next=l->next;

delete l;

l=q->next;

} output_array[n]=l->num;

delete l;

for(int i=0;icout

delete output_array;

return 0;

}

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!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 中的,輸出兩個字...