-
如何实现aaabbbsdd转换成3a3bs2d0
如何实现aaabbbsdd转换成3a3bs2d
我刚开始的思路是用正则表达式
先切割然后替换,可是写不出来。
希望大家能写出来参考一下、谢谢。或者给个伪代码。2013年4月29日 12:48
3个答案 按时间排序 按投票排序
-
采纳的答案
public class StringZip { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); Stack stack = new Stack(); for (char c : "aaabbbsdd".toCharArray()) { stack.push(c, sb); } stack.append(sb); System.out.println(sb); } static class Stack { private int count = 1; private Character chr; public void push(char c, StringBuilder sb) { // 初次。 if (chr == null) { chr = c; return; } // 相同则+1。 if (chr == c) { count++; return; } // 不同则输出。 append(sb); // 重置。 chr = c; count = 1; } public void append(StringBuilder sb) { if (count > 1) { sb.append(count); } sb.append(chr); } } }
2013年4月29日 15:33
-
1、转换字符串为字符数组循环。
2、设置计数单位变量 i,设置待比较字符变量 c;
3、循环字符数组,取当前字符c,循环比较,如果和下一个相同,计数变量i加1,否则清零重新计数;2013年5月01日 00:17
-
public static void main(String[] args) { char[] chars = "aaabbbsdd".toCharArray(); StringBuilder s = new StringBuilder(); int count = 0; for(int i = 0, l = chars.length; i < l; i++) { char ch = chars[i]; //如果不是最后一个 判断当前的 是否和下一个匹配 如果匹配count+1 继续下一轮 if( i + 1 < l && chars[i+1] == ch) { count++; continue; } //如果是最后一个 判断最后一个 是否和前一个匹配 如果匹配count+1 if(i + 1 == l && chars[i - 1] == ch) { count++; } s.append(ch); if(count > 1) { s.append(count); } count = 0; } System.out.println(s.toString()); }
2013年4月29日 13:08
相关推荐
ICE3BS03LJG 英飞凌芯片 INFINEON 中文版规格书手册 ICE3BS03LJG 是一款 Off-Line SMPS(Switch Mode Power Supply)当前模式控制器,集成了 500V 启动单元(Latched and frequency jitter Mode)。本文档将对 ICE...
SDJ-3BS振动仪表手册doc,SDJ-3BS振动仪表手册
标题中的"$RGIC3BS_非3_"似乎是一种编码或者标识符,可能代表某个特定的项目、任务或者软件版本,但具体的含义没有直接关联到IT知识点。描述中的内容"实现的是从网络上下子安静的,你的捂被窝,UI而非回复氛围,UI为...
SDJ-3BS SDJ-3LS振动仪表手册doc,SDJ-3BS SDJ-3LS振动仪表手册
smc-薄型电气比例阀ITV0000pdf,smc薄型电气比例阀,ITV0000系列ITV0030-0S ...smc薄型电气比例阀 ITV0030-3BS-Q smc薄型电气比例阀 ITV0030-3L 如果需要了解更多,请点击http://smcchina.gongboshi.com
通过这种方式,ICE3BS03LJG成功实现了在保持高效能量转换的同时,降低对周围环境的干扰。 除了电磁干扰和待机功耗方面的优势之外,ICE3BS03LJG还具备了过温保护、VCC过压保护、线圈短路保护和开环保护等多项安全...
I2C协议由荷兰飞利浦公司(现为NXP半导体)于1982年推出,它只需要两根线(SCL和SDA)就能实现双向通信。SCL是时钟线,由主设备控制,确保所有设备在同一时间点上进行数据传输;SDA是数据线,主从设备都可以在这条...
无线遥控硬件电路采用南京视听电子公rd的RO3BS尤线遥控器,其主要包含发送模块和接收模块。该无线遥控器分为网络遥控器,信号的输出可以是路也町为双路,电路的工作频率为31OMHz,最大的遥控距离为90M。 本文设计了...
- **简单应用电路**: 由于ICE3BS03LJG集成了所有必要的特性和功能,因此只需要少量的外部组件(如电容和电阻)即可实现完整的电源控制功能。 - **60W, 16V/3.75A应用实例**: - 待机功耗极低:在无负载情况下,待机...
本意见稿详细阐述了实现这一目标所需的技术方案与测试指标。 #### 二、参与者和支持者 本提案由多位来自不同公司的专家共同参与制定,包括但不限于: - **Brian Welch (Cisco)** - **John Johnson (Broadcom)** - ...
4. **元器件选择与配置**:文档中列举了多种特定型号的元器件,如L210uH电感、D2BV二极管、CD3BS0060M电容器等,这些元器件在EMC设计中起到滤波、钳位电压、保护电路的作用。正确选择和配置这些元器件对于实现有效...
- 选取**磁芯材料和磁芯结构**:选择R2KB铁氧体材料制成的EE型铁氧体磁芯,因其具有品种多、引线空间大、接线操作方便且价格便宜等优点。 - 确定**工作磁感应强度Bm**:考虑到高温时Bs会下降以及防止合闸瞬间高频...
“3BSʵס.py”可能涉及BeautifulSoup的实战应用。在实际爬虫项目中,我们往往需要处理JavaScript动态加载的内容。BeautifulSoup无法解析这些,但我们可以借助Selenium库模拟浏览器行为,加载完整页面。Selenium允许...
压缩包子文件的文件名"Breeze&_39%3Bs%20MH.exe"看起来像是一个Windows可执行文件,但没有足够的上下文来解释它的用途或关联的技术细节。 通常,如果文件名包含"exe",这通常指的是Windows操作系统中的可执行程序,...
为了提供详细的知识点,我会将这些信息组合成以下几个方面: 一、麻醉咽喉镜的组成部分 1. 光源组件:包含了11mLx的照明亮度,1500-3500lx的照明范围,以及3V的直流电源供应,这表明该设备使用电池作为电源。 2. ...
有的机构将急救优先级概括为“3Bs”:Breathing(呼吸)、Bleeding(出血)和Bones(骨折)。在某些情况下,如遇到无呼吸、无脉搏的患者,可能需要同时进行心肺复苏(CPR)和胸部按压。\n\n这段阅读理解的难点可能...
- 不锈钢或钢化玻璃灶面:不同系列的燃气灶采用不同的材质,Q60E和QE3G系列采用不锈钢灶面,Q63E、QE3B、QE3BS1系列则采用钢化玻璃,具有耐高温、易清洁的特点。 - 燃烧器设计:部分系列如QE3B提供直火和旋火两种...
ITV0030-3BS-Q ITV0030-3L ITV0030-3ML ITV0030-3MS ITV00303MSDIL00 ITV0030-3N ITV0030-3S ITV0031-2L ITV0050-0CS ITV0050-0L ITV0050-0ML ITV0050-1L ITV0050-1ML ITV0050-2L ITV0050-2ML ITV0050-3L ITV0050-3...