字符串的统计字符串
来源:互联网 发布:韩国后悔废除汉字 知乎 编辑:程序博客网 时间:2024/05/17 18:26
题目一:
给定一个字符串str,返回其统计字符串,
例如String s=”aaabbadddffc”;其统计字符串形式为”a_3_b_2_a_1_d_3_f_2_c_1“。
题目二:
给定一个字符串的统计字符串,再给定一个整数,返回原始字符串上该整数上的字符。
例如”a_1_b_100”,0返回‘a’,100返回‘b’
public class demo { public static void main(String[] args) { char res=returnChar("a_1_b_100",0); System.out.println(res); } //字符串的统计字符串 public static String count(String str){ if(str==null||str.equals("")){ return str; } char[] chas=str.toCharArray(); String res=""; int index=0; for(int i=0;i<chas.length;i++){ if(chas[index]!=chas[i]){ res+=String.valueOf(chas[index])+"_"+String.valueOf(i-index)+"_"; index=i; } } res+=String.valueOf(chas[index])+"_"+String.valueOf(chas.length-index); return res; } //给定统计字符串cstr和整数index,返回cstr原始字符串中第index个字符 public static char returnChar(String cstr,int index){ if(cstr==null||cstr.equals("")){ return 0; } int num=0;//当前字符个数 int sum=0;//当前总字符 boolean stage=true;//代表遇到字符阶段,反之是统计字符阶段 char cur=0;//当前字符 char[] chas=cstr.toCharArray(); for(int i=0;i<chas.length;i++){ if(chas[i]=='_'){ stage=!stage;//变阶段 } else if(stage){//遇到下一个字符了,该计入sum了,判断是否返回值 sum+=num; if(sum>index){ return cur; } num=0; cur=chas[i];//存新字符,清num0 } else{//统计阶段 num=num*10+(chas[i]-'0'); } } return sum+num>index?cur:0;//最后一次单独看 } }
PS:
第一次独立正确完成一道题~
虽然第二题还是被解析搞得晕乎乎…
阅读全文
0 0
- 字符串的统计字符串
- 字符串的统计字符串
- 字符串系列---字符串的统计字符串
- 字符串问题---字符串的统计字符串
- 统计字符串的长度
- 字符串的统计
- 统计字符串的长度
- 字符串的统计
- 统计字符串的个数
- 字符串的统计
- 字符串的统计
- 字符串中,插入字符串统计的个数
- 获取字符串的统计字符串 Python 版
- 统计字符串
- 统计字符串
- 字符串统计
- 字符串统计
- 字符串统计
- Mybatis 的 分页使用 limit 出现String类型注入错误
- HTML5要点总结
- 康托展开
- 51.La网站统计邀您认知数据可视化
- 【头条】ThinkPlus智能生态战略背后 看联想“三波战略”的延伸与落地
- 字符串的统计字符串
- Linux下查找大文件,大目录的方法
- 时间戳转时间字符串和时间
- CSV文件导入Neo4j数据库
- 自定义评星条
- leetcode 83|84. Remove Duplicates from Sorted List 1|2
- 小程序 ajax请求封装
- cnn
- 用双边滤波图像平滑