2023年3月5日CVTE網測的兩道程式設計題

2021-07-10 07:43:02 字數 2033 閱讀 6724

昨天,也就是2023年3月5日晚上19:00~20:30,這是今年cvte春招的網測時間,博主沒能趕上時間,從舍友裡摘取了面試安卓開發的兩道網測程式設計題,在這裡,博主要用c語言來實現它。

第一道題:字元陣列的迴圈右移問題

題目要求:將n個字元的陣列,迴圈右移k位。時間複雜度o(n)。

思路分析:1、含n個字元的陣列;2、字元陣列迴圈右移k位;3、時間複雜度為o(n)。我們應該看得出,有兩種情況:1、k小於n;2、k大於等於n,我們不難得出,當k大於等於n時,與用n除k得出的餘數y(此時,y小於n)的右移效果相同,所以,我們可以將k轉化為k小於n的情況來求右移k位的字元陣列。從時間複雜度上看出,我們不能用關於n的巢狀迴圈。由此,博主寫出了下列**:

void rightstep(char *str,int step)

printf("\n");

count = step % length;

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

pt[length] = '\0';

printf("移動了%d位的陣列為:",step);

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

printf("\n");

}

第二道題:字串去重問題

題目要求:刪除小寫字母字串中重複字元。如果可以,優先刪除重複字元中排在比他小字元前面的字元。 比如,輸入:bbcacdww;輸出:bacdw

思路分析:刪除字串中的重複字元,題目還說:如果可以,優先刪除重複字元中排在比他小字元前面的字元。所以,我們不妨凡是重複字元,就刪除前面的重複字元,保留後面的重複字元。下面是博主用c語言實現的**:

void quchong(char *str)

printf("\n");

for(i = length - 1;i > 0;i--)}}

printf("去重後的字串為:");

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

else

}if(!tf)

}for(i = 0;i < m;i++)

printf("\n");

}

我知道,以上兩道cvte網測程式設計題博主解的答案不是最優的,但也是實現了題目要求的功能,況且網測是沒有那麼多時間去優化**,從這兩道網側踢,博主知道了學習c語言基礎稍微不紮實,解答時容易錯漏百出,也就是在c編譯器上不斷糾正。下面是我在vc++6.0上編譯執行上述**(包括我以上全部的驅動程式):

#include

#include

void rightstep(char *str,int step);

void quchong(char *str);

int get_int(void);

int main(void)

void rightstep(char *str,int step)

printf("\n");

count = step % length;

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

pt[length] = '\0';

printf("移動了%d位的陣列為:",step);

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

printf("\n");

}void quchong(char *str)

printf("\n");

for(i = length - 1;i > 0;i--)}}

printf("去重後的字串為:");

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

else

}if(!tf)

}for(i = 0;i < m;i++)

printf("\n");

}int get_int(void)

while(getchar() != '\n')

continue;

return in;

}

在這裡謝謝各位讀者的閱覽,如有比較優的解答**,也希望各位讀者提出來,謝謝了。

2023年5月24日 2023年5月24日

今天是第六年.我可能要感謝那天的自己吧,窗外是熙攘的歡聲笑語,我吃完了晚飯趁著太遠還沒下山,捧著我那本 去年到今年這一年,先是度過了找工作的困擾.之後憤然離開布斯來到了北京.當時加入一家不是做遊戲的公司,我是很抗拒的.畢竟是工作後第一次離開遊戲圈,加入家具圈.當時的考慮就是一是投了那麼多簡歷,那個於...

2023年1月5日知識回顧

1 昨天研究了下七牛雲的上傳介面,比較易於呼叫,參考文件python sdk 2 研究了下vmaig blog的頭像上傳部分原始碼,但是部署到nginx有點兒問題,就是nginx處理靜態檔案,把所有靜態檔案都colllectstatic到了乙個指定的目錄,views的邏輯,關於儲存的路徑怎麼寫都沒對...

2023年5月13日學習筆記

1.關於clonerange 和clonecontents clonerange是建立乙個新的range物件,表示與當前range物件相同的區域 這是用來轉殖的文字 clone 哈哈哈哈 clone clonecontents是把range內容複製到乙個documentfragment中 extra...