日韩性视频-久久久蜜桃-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校招哈尔滨站笔试题--第二题的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品播放 | 亚洲高清中文字幕 | 日本精品黄 | 精品一区二区中文字幕 | 日韩欧美成人网 | 亚洲免费一级 | 啪网址| 国产精品二区在线 | 国产电影一区二区三区爱妃记 | 97超碰在线免费观看 | 秋霞在线一区二区 | 日产精品久久久一区二区 | 人人草人人爽 | 亚洲综合av一区二区三区 | 欧美性生交片4 | 国产美女特级嫩嫩嫩bbb | 亚洲二区在线播放视频 | 色偷偷噜噜噜亚洲男人的天堂 | 97超碰在线免费观看 | 精品国产欧美一区二区 | 中文字幕亚洲欧美 | 岛国av免费在线 | 国产午夜在线视频 | 熟女高潮一区二区三区 | 国产精品91在线 | 欧美一级激情 | 欧美揉bbbbb揉bbbbb| 日韩电影在线一区二区 | 日色视频 | 天天干天天草 | 国产成人在线视频免费观看 | 亚洲免费福利 | 色成人免费网站 | 国产美女视频一区二区 | 日本免费一区二区三区最新 | 国产午夜精品一区二区三区欧美 | 日韩免费视频一区二区视频在线观看 | 辟里啪啦国语版免费观看 | 黄色3级视频 | 黄色香蕉视频 | 欧美极品少妇xxxxⅹ免费视频 | 2020国产在线| 亚洲人人干 | xxxx久久| 污视频网站在线看 | 亚洲AV成人无码久久精品巨臀 | 亚洲色图日韩 | 性开放耄耋老妇hd | 国产成人免费视频网站 | 手机午夜视频 | 色呦呦免费| 亚洲一区精品视频在线观看 | xxx日本少妇| 99精品偷自拍 | 有码在线播放 | 亚洲日日日 | 人操人操 | 大香伊人中文字幕精品 | www.亚洲激情 | 依人成人 | 中文字幕精品久久 | 精品国产乱码 | 欧美日韩中文 | 边啃奶头边躁狠狠躁 | 男男play视频| a√天堂资源在线 | 催眠美妇肉奴系统 | 蜜臀久久99精品久久久久久 | 狠狠影院 | 国产又粗又大又爽视频 | 久久中文娱乐网 | wwww欧美| 国产一区二区视频在线免费观看 | 污视频免费在线 | 国产精品9191| 一色综合| 亚洲天堂资源在线 | 亚洲va欧美va天堂v国产综合 | 丝袜美女啪啪 | 亚洲av电影一区二区 | 国产精品女优 | 亚洲淫 | 亚洲理论中文字幕 | 欧美视频在线观看一区二区三区 | 无码日本精品xxxxxxxxx | 日日热 | 一道本一区 | 精品无码一区二区三区在线 | 亚洲一区二区电影 | 免费亚洲一区二区 | av十大美巨乳 | 中文字幕日产av | 超碰在线免费播放 | 欧美乱妇视频 | 免费在线播放 | 欧美一级免费黄色片 | 国产丝袜av | 女性向片在线观看 | 成人国产精品免费观看 |