日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

微软Java面试题-按照字母排序

發(fā)布時(shí)間:2025/5/22 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微软Java面试题-按照字母排序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.對(duì)字符串進(jìn)行排序,用任意一種編程語(yǔ)言來(lái)實(shí)現(xiàn),不能使用現(xiàn)有的類(lèi),在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“l(fā)ittle”,“During”,“day”能夠排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“l(fā)ittle”,“Hello”,也就是說(shuō),在排序的過(guò)程并不是傳統(tǒng)的按照字符串排序,在排序中還需要將小寫(xiě)字母一并排序,也就是說(shuō)a字符串要在B或b之前。

查看復(fù)制到剪切板打印
  • import?java.util.Arrays; ??
  • import?java.util.Comparator; ??
  • ??
  • /** ?
  • ?*?微軟面試題-按照字母排序.<br> ?
  • ?*?小寫(xiě)字母在大寫(xiě)后面,字母B/b在字母A/a后面<br> ?
  • ?*? ?
  • ?*?@author?老紫竹?JAVA世紀(jì)網(wǎng)(java2000.net) ?
  • ?*? ?
  • ?*/??
  • class?T?{ ??
  • ??private?static?final?int?MASK?=?0xFFDF;?//?用來(lái)把小寫(xiě)變成大寫(xiě) ??
  • ??
  • ??public?static?int?compare(String?o1,?String?o2)?{ ??
  • ????int?length1?=?o1.length(); ??
  • ????int?length2?=?o2.length(); ??
  • ????int?length?=?length1?>?length2???length2?:?length1; ??
  • ????int?c1,?c2; ??
  • ????int?d1,?d2; ??
  • ????for?(int?i?=?0;?i?<?length;?i++)?{ ??
  • ??????c1?=?o1.charAt(i); ??
  • ??????c2?=?o2.charAt(i); ??
  • ??????d1?=?c1?&?MASK; ??
  • ??????d2?=?c2?&?MASK; ??
  • ??????if?(d1?>?d2)?{ ??
  • ????????return?1; ??
  • ??????}?else?if?(d1?<?d2)?{ ??
  • ????????return?-1; ??
  • ??????}?else?{ ??
  • ????????if?(c1?>?c2)?{ ??
  • ??????????return?1; ??
  • ????????}?else?if?(c1?<?c2)?{ ??
  • ??????????return?-1; ??
  • ????????} ??
  • ??????} ??
  • ????} ??
  • ????if?(length1?>?length2)?{ ??
  • ??????return?1; ??
  • ????}?else?if?(length1?<?length2)?{ ??
  • ??????return?-1; ??
  • ????} ??
  • ????return?0; ??
  • ??} ??
  • ??
  • ??public?static?void?sortByPOPO(String[]?args)?{ ??
  • ????String?tmp; ??
  • ????for?(int?i?=?0;?i?<?args.length;?i++)?{ ??
  • ??????for?(int?j?=?i?+?1;?j?<?args.length;?j++)?{ ??
  • ????????if?(compare(args[i],?args[j])?>?0)?{ ??
  • ??????????tmp?=?args[i]; ??
  • ??????????args[i]?=?args[j]; ??
  • ??????????args[j]?=?tmp; ??
  • ????????} ??
  • ??????} ??
  • ????} ??
  • ????//?[Ad,?aC,?Bc,?During,?day,?Hello,?little,?X?man] ??
  • ????System.out.println(Arrays.toString(args)); ??
  • ??} ??
  • ??
  • ??public?static?void?main(String[]?args)?{ ??
  • ????String[]?strs?=?{?"Bc",?"Ad",?"aC",?"Hello",?"X?man",?"little",?"During", ??
  • ????????"day"?}; ??
  • ??
  • ????sortByPOPO(strs); ??
  • ??
  • ??} ??
  • }??
  • import java.util.Arrays; import java.util.Comparator;/*** 微軟面試題-按照字母排序.<br>* 小寫(xiě)字母在大寫(xiě)后面,字母B/b在字母A/a后面<br>* * @author 老紫竹 JAVA世紀(jì)網(wǎng)(java2000.net)* */ class T {private static final int MASK = 0xFFDF; // 用來(lái)把小寫(xiě)變成大寫(xiě)public static int compare(String o1, String o2) {int length1 = o1.length();int length2 = o2.length();int length = length1 > length2 ? length2 : length1;int c1, c2;int d1, d2;for (int i = 0; i < length; i++) {c1 = o1.charAt(i);c2 = o2.charAt(i);d1 = c1 & MASK;d2 = c2 & MASK;if (d1 > d2) {return 1;} else if (d1 < d2) {return -1;} else {if (c1 > c2) {return 1;} else if (c1 < c2) {return -1;}}}if (length1 > length2) {return 1;} else if (length1 < length2) {return -1;}return 0;}public static void sortByPOPO(String[] args) {String tmp;for (int i = 0; i < args.length; i++) {for (int j = i + 1; j < args.length; j++) {if (compare(args[i], args[j]) > 0) {tmp = args[i];args[i] = args[j];args[j] = tmp;}}}// [Ad, aC, Bc, During, day, Hello, little, X man]System.out.println(Arrays.toString(args));}public static void main(String[] args) {String[] strs = { "Bc", "Ad", "aC", "Hello", "X man", "little", "During","day" };sortByPOPO(strs);} }

    轉(zhuǎn)載于:https://www.cnblogs.com/hibernate3-example/archive/2009/02/21/2493040.html

    總結(jié)

    以上是生活随笔為你收集整理的微软Java面试题-按照字母排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。