日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

美团2015校招哈尔滨站笔试题--第二题

發布時間:2025/3/19 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 美团2015校招哈尔滨站笔试题--第二题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有一組隨機排列的字母數組,請編寫一個時間復雜度為O(n)的算法,使得這些字母按照字母從小到大順序排好。
說明:字母區分大小寫,相同的字母,排序后小寫排在大寫前。
例如:R,B,B,b,W,W,B,R,B,w
排序后:b,B,B,B,B,R,R,w,W,W
1)描寫思路(2分)
2)請用你熟悉的編程語言編寫代碼實現(8分)

?

/*** * @author 無心流淚* 空間換時間*/ public class InterviewExercise {public void mySort(char[] str){int[] hash = new int[52];for(int i=0;i<str.length;i++){if(str[i]>=97) {int key = str[i] - 97;hash[key*2]++; }else{int key = str[i] - 65;hash[key*2+1]++;}}int count = 0;for(int i=0;i<52;i++){while(hash[i]!=0){if(i%2==0){str[count]= (char)(i/2+97);}else{str[count]= (char)((i-1)/2+65);}hash[i]--;count++;}}}public static void main(String[] args) {char[] characterArray = {'R','B','B','b','W','W','B','R','B','w'};new InterviewExercise().mySort(characterArray);for(int i=0;i<characterArray.length;i++)System.out.print(characterArray[i]+" ");}}

?

  思路很簡單,開一個52的int數組,順序代表a,A,b,B,c,C,d..........z,Z這些字母出現的次數;然后再依次打印出數組中保存的字母就可以了,采取空間換時間的hash策略。

? ? 下面的代碼是字符比較的另一種方式,感覺更好點,來自http://www.dy1280.com/thread-440-1-1.html

public static void main(String[] args) {// A=65,Z=90 a=97,z=122char[] src = { 'R', 'B', 'B', 'b', 'W', 'W', 'B', 'R', 'B', 'w' };src = sortCharsOn(src);for (char c : src) {System.out.print(c + " ");}}/*** O(n)的時間復雜度對給定的字符數組進行排序* * @param src* 原數組* @return 排序后的數組*/private static char[] sortCharsOn(char[] src) {int[] items = new int[54];// 用于保存52個字符char[] des = new char[src.length];for (int i = 0; i < src.length; i++) {if (src[i] < 'z' && src[i] > 'a') { // 小寫對應于items中下標為偶數items[(src[i] - 'a') * 2]++;} else if (src[i] < 'Z' && src[i] > 'A') { // 大寫對應于items中下標為奇數items[(src[i] - 'A') * 2 + 1]++;}}int index = 0;for (int i = 0; i < items.length; i++) {if (items[i] != 0) {// items[i],就是該字符出現的次數if (i % 2 == 0) {for (int j = 0; j < items[i]; j++) {des[index++] = (char) (i / 2 + 'a');// 轉化成小寫 }} else {for (int j = 0; j < items[i]; j++) {des[index++] = (char) ((i - 1) / 2 + 'A');// 轉化成大寫 }}}}return des;}

?

轉載于:https://www.cnblogs.com/wuxinliulei/p/3979990.html

總結

以上是生活随笔為你收集整理的美团2015校招哈尔滨站笔试题--第二题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费中文字幕av | 99热这里 | 久久综合伊人77777麻豆 | 亚洲国产中文字幕在线观看 | 玖色视频| 亚洲蜜臀av一区二区三区 | 成a人v | 天天综合干 | 亚洲自拍中文字幕 | 国产在线观看精品 | jlzzjlzz欧美大全 | 亚洲国产免费看 | 宅男噜噜噜 | 老头老太吃奶xb视频 | 免费网站看av| av片在线免费看 | 黄色av网址大全 | 男人插女人下面视频 | 久草视频免费在线播放 | 91美女片黄在线观看 | 你懂的视频在线播放 | h片网站在线观看 | 午夜视频日韩 | 玖玖爱av | 美日韩免费 | 91亚洲影院 | 极品白嫩少妇无套内谢 | 欧美成人不卡视频 | 老熟女毛茸茸 | 久久久精选 | 成年人黄色大全 | 国产一区二区在线播放视频 | 高h教授1v1h喂奶 | 亚洲网站免费观看 | 亚洲精品女人久久久 | 成人免费无码大片a毛片 | 亚洲精品久久久 | 国产无限制自拍 | 日韩在线视频在线 | 日干夜干天天干 | 欧美区一区二 | 亚洲 欧美 自拍偷拍 | 久久精品99国产精 | 久久婷婷五月国产色综合激情 | 亚洲逼| 午夜伦视频 | 91亚洲精品在线观看 | 麻豆系列在线观看 | 亚洲天堂影院 | 粉嫩小箩莉奶水四溅在线观看 | 精品国产av一区二区三区 | 少妇紧身牛仔裤裤啪啪 | 欧美精品在线视频观看 | 一区二区免费在线 | 欧美一区二区三区公司 | 成年人视频在线播放 | 日韩精品第二页 | 韩国美女一区 | 欧美私人情侣网站 | 天天干影院| 人妻 校园 激情 另类 | 久久丫精品 | 少妇精品无码一区二区免费视频 | 欧美自拍一区 | 国产日韩一区二区三免费高清 | 国产激情网址 | 九九视频在线观看 | 91av不卡 | 黑花全肉高h湿play短篇 | 4虎tv| 带aaa级的网名 | 色姑娘久 | 天天干b| 国产精品中文久久久久久 | 久久九九色 | 久久久精品中文字幕麻豆发布 | 色图av | 粗大的内捧猛烈进出在线视频 | 青青草原国产在线 | 国产精品白嫩极品美女视频 | 黄色片视频免费看 | 亚洲xx网 | a天堂av| 亚洲成人系列 | 日韩一区网站 | 久久精品视频免费看 | 国产精品久久久久久久蜜臀 | 美梦视频大全在线观看高清 | 亚洲国产精品18久久久久久 | 色哟哟日韩精品 | 国产美女又黄又爽又色视频免费 | 一区精品视频 | 中文字幕一区二区在线观看 | 91综合国产 | 亚洲av无码一区二区乱子仑 | 东北女人av | 国产精品成人无码 | 欧美成人精品网站 | 色婷婷97 |