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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

刷题-CC150-Java实现

發(fā)布時間:2025/3/21 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 刷题-CC150-Java实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

8.1

1.1 字符串互異

  • 確定一個字符串的所有字符是否全都不同。

    • 方法一:逐字符比較的方法。時間復(fù)雜度:O(n2)
    import java.util.*;public class Different {public boolean checkDifferent(String iniString) {// write code hereif (iniString.length()>256)return false;for (int i=0; i<iniString.length()-1; i++) {for (int j=i+1; j<iniString.length(); j++) {if (iniString.charAt(i) == iniString.charAt(j))return false;}}return true;} }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 方法二:
    import java.util.*;public class Different {public boolean checkDifferent(String iniString) {// write code hereif (iniString.length()>256)return false;boolean[] char_set = new boolean[256];for (int i=0; i<iniString.length(); i++) {char val = iniString.charAt(i);if ((val < 0) ||(val > 255)) //檢查輸入return false;if (char_set[val])return false;char_set[val] = true;}return true;} }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

1.2 原串翻轉(zhuǎn)

  • 翻轉(zhuǎn)一個給定的字符串(可以使用單個過程變量)。

    • 使用Array實現(xiàn)

      import java.util.*;public class Reverse {public String reverseString(String iniString) {// write code herechar[] strArray = iniString.toCharArray();int low = 0, high = iniString.length()-1;while (low < high) {char tmp = strArray[low];strArray[low] = strArray[high];strArray[high] = tmp;low++;high--;}String tmpString = new String(strArray);return tmpString;} }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
    • 使用StringBuilder

      import java.util.*;public class Reverse {public String reverseString(String iniString) {// write code hereStringBuilder sb = new StringBuilder(iniString);int low = 0, high = sb.length()-1;while (low < high) {char tmp = sb.charAt(low);sb.setCharAt(low, sb.charAt(high));sb.setCharAt(high, tmp);low++;high--;} return sb.toString();} }
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17

1.3

  • 確定其中一個字符串的字符重新排列后,能否變成另一個字符串。這里規(guī)定大小寫為不同字符,且考慮字符串重點空格。

    import java.util.*;public class Same {public boolean checkSam(String stringA, String stringB) {// 優(yōu)化 - 如果兩個字符串長度不等,一定不可能if (stringA.length() != stringB.length())return false;return sortMy(stringA).equals(sortMy(stringB));}public String sortMy(String s) {char[] as = s.toCharArray();java.util.Arrays.sort(as);return new String(as);} }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

1.4 空格替換

  • 空格替換

    import java.util.*;public class Replacement {public String replaceSpace(String iniString, int length) {return iniString.replaceAll(" ", "%20");} }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

1.5 基本字符串壓縮

  • 基本字符串壓縮

    import java.util.*;public class Zipper {public String zipString(String iniString) {// write code hereString mystr = "";char last = iniString.charAt(0);int count = 1;for (int i=1; i<iniString.length(); i++) {if (iniString.charAt(i)==last) {count++;} else {mystr += last + "" + count;last = iniString.charAt(i);count = 1;}}mystr += last + "" + count;if (mystr.length() > iniString.length())return iniString;else {return mystr;}} }
from: http://blog.csdn.net/xuezhisdc/article/details/52197322

總結(jié)

以上是生活随笔為你收集整理的刷题-CC150-Java实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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