https://leetcode.com/problems/reconstruct-original-digits-from-english/

//https://discuss.leetcode.com/topic/63386/one-pass-o-n-java-solution-simple-and-clear

public class Solution {
// zero one two three four five six seven eight nine ten
// z 0
// e 0 1 3 3 5 7 7 8 9
// r 0 3 4
// o 0 1 2 4
// n 1 7 9 9
// t 2 3 8
// w 2
// h 3 8
// f 4 5
// u 4
// i 5 6 8 9
// v 5 7
// s 6 7
// x 6
// g 8 public String originalDigits(String s) {
// 太牛了,开始我也想到统计,但是想到删除字符串那些复杂的操作上面去了 int[] counts = new int[10];
for (int i=0; i<s.length(); i++) {
char ch = s.charAt(i);
if (ch == 'z') counts[0]++;
if (ch == 'u') counts[4]++;
if (ch == 'w') counts[2]++;
if (ch == 'x') counts[6]++;
if (ch == 'g') counts[8]++;
if (ch == 'h') counts[3]++; // 3, 8
if (ch == 's') counts[7]++; // 6, 7
if (ch == 'f') counts[5]++; // 4, 5
if (ch == 'o') counts[1]++; // 0, 1, 2, 4
if (ch == 'i') counts[9]++; // 5, 6, 8, 9
} counts[3] -= counts[8];
counts[7] -= counts[6];
counts[5] -= counts[4];
counts[1] -= counts[0] + counts[2] + counts[4];
counts[9] -= counts[5] + counts[6] + counts[8]; StringBuilder sb = new StringBuilder();
for (int i=0; i<10; i++) {
for (int j=0; j<counts[i]; j++) {
sb.append(i);
}
}
return sb.toString();
}
}

最新文章

  1. PHP数组的基础知识
  2. maven 速度快的镜像
  3. CSS控制表格(table)样式
  4. yii2.0 的数据的 增
  5. 如何保护java程序不被反编译
  6. CA证书过期
  7. CSS之拖拽1
  8. 新建arcgis api for android 项目失败
  9. Javascript Array API
  10. [Q]手动加载菜单方法
  11. Busy Beavers(暴力模拟)
  12. Spring Security教程系列(一)基础篇-1
  13. 201521123047 j第五周学习总结
  14. ARM总线方面知识
  15. setfacl命令 来自: http://man.linuxde.net/setfacl
  16. win10 开机自启指定软件
  17. TPS,并发用户数,吞吐量以及一些计算公式
  18. webpack之loader和plugin简介
  19. JS几种变量交换
  20. IO流-复制多极文件夹(递归实现)

热门文章

  1. ReentrantLock 分析
  2. ubuntu16.04下安装docker
  3. centos7 mariaDB安装
  4. 【ASP.NET MVC】提高页面加载速度:脚本优化
  5. C/C++宏的用法
  6. webpack HMR原理
  7. 26、Flask实战第26天:cms用户模型定义
  8. 关于windows环境下cordova命令行无法启动adb.exe的解决办法
  9. DP套DP
  10. Manthan, Codefest 16 D. Fibonacci-ish 暴力