2015福士點評校園招聘筆試題——比較兩個字串的相同部分和不同部分,2015校園招聘

來源:互聯網
上載者:User

2015福士點評校園招聘筆試題——比較兩個字串的相同部分和不同部分,2015校園招聘

利用數組雜湊表實現</span>
//字串str1,字串str2,str1的長度n1,str2的長度n2,res1儲存相同字元,res2儲存不同字元void charcmp(char* str1,char *str2,int n1,int n2,char* res1,char* res2){int a1[60]={0};//利用雜湊數組記錄str1相應字元出現的次數,共有52個大小寫字母,ascii字母表中字母中間夾雜了6個其他符號int a2[60]={0};//利用雜湊數組記錄str2相應字元出現的次數,共有52個大小寫字母,ascii字母表中字母中間夾雜了6個其他符號    for (int i=0;i<n1;i++)    {a1[str1[i]-'A']++;//A的次數用str[0]記錄    }for (int i=0;i<n2;i++){a2[str2[i]-'A']++;}    int k=0;int m1=0;int m2=0;for (;k<60;k++){if (a1[k]!=0||a2[k]!=0){if (a1[k]!=0&&a2[k]!=0)//兩個字串裡面都出現的字母{res1[m1++]=k+'A';//數字轉化為字元,K=0儲存的是A次數,對應的是字元A}else//只有一個字串裡面出現的字元{res2[m2++]=k+'A'; }} }res1[m1]='\0';//添加結束符res2[m2]='\0';//添加結束符}int main(){char str1[]="abcd";char str2[]="fagh";char  res1[5]={'\0'};    char  res2[10]={'\0'};    charcmp(str1,str2,4,4,res1,res2);    getchar();return 1;}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.