刷题-CC150-Java实现
来源:互联网 发布:韩国演艺圈 知乎 编辑:程序博客网 时间:2024/04/28 10:07
欢迎访问 博客新址
CC150
标签: 刷题 编程 Java
8.1
1.1 字符串互异
确定一个字符串的所有字符是否全都不同。
- 方法一:逐字符比较的方法。时间复杂度:
O(n2) 。
import java.util.*;public class Different { public boolean checkDifferent(String iniString) { // write code here if (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; }}
- 方法二:
import java.util.*;public class Different { public boolean checkDifferent(String iniString) { // write code here if (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 原串翻转
翻转一个给定的字符串(可以使用单个过程变量)。
使用Array实现
import java.util.*;public class Reverse { public String reverseString(String iniString) { // write code here char[] 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; }}
使用StringBuilder
import java.util.*;public class Reverse { public String reverseString(String iniString) { // write code here StringBuilder 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.3
确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
import java.util.*;public class Same { public boolean checkSam(String stringA, String stringB) { // 优化 - 如果两个字符串长度不等,一定不可能 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.4 空格替换
空格替换
import java.util.*;public class Replacement { public String replaceSpace(String iniString, int length) { return iniString.replaceAll(" ", "%20"); }}
1.5 基本字符串压缩
基本字符串压缩
import java.util.*;public class Zipper { public String zipString(String iniString) { // write code here String 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; } }}
1.6
- d
1.4
- d
1.3
- d
1.4
- d
1.3
- d
1.4
- d
0 0
- 刷题-CC150-Java实现
- 刷题-CC150-Java实现
- CC150
- Array&String@CC150-基础数据结构实现CloseHash
- cc150:使用栈来实现汉诺塔
- cc150第一章JAVA字符串和数组总结
- cc150:使用一个数组实现3个栈
- CC150第14章JAVA总结 to be continued
- [cc150] 3.1
- [cc150] 2.5
- [cc150] 1.4
- [cc150] 1.3
- [cc150] 1.2
- [cc150] 1.1
- cc150-1.1
- cc150,1.4
- cc150,1.5
- cc150-8.1
- java实现多项式计算器
- mysql优化连接数防止访问量过高的方法
- 【NOIP2011模拟9.3】旅行 (Standard IO)
- 编码练习——Java-8-输入/输出
- 从扎克伯格“虚拟现实普及至少需10年”看VR、VS、VA与RA
- 刷题-CC150-Java实现
- 盒子模型
- CentOS上PHP完全卸载
- hdu 5821 2016 Multi-University Training Contest 8(排序)
- png、jpg、gif三种图片格式的区别
- Collection集合总结
- CNN 总结
- Lucas Sequence(卢卡斯数列)
- 支持向量机的认识