当前位置: 首页 > news >正文

html 网站模板简单wordpress linux下载文件

html 网站模板简单,wordpress linux下载文件,西安免费做网站价格,嘉兴h5建站一种字符串压缩表示的解压 题目描述 有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。 例如:字符串“aaabbccccd”经过压缩成为字符串“…

一种字符串压缩表示的解压

题目描述

有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。
例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。
请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串,
若输入合法则输出解压缩后的字符串,否则输出字符串“!error” 来报告错误

输入描述

输入一行,为一个ASCII字符串,长度不会超过100字符,用例保证输出的字符串长度也不会超过100字符。

输出描述

若判断输入为合法的经过压缩后的字符串,则输出压缩前的字符串;若输入不合法,则输出字符串“

输入输出说明
4dffddddff4d扩展为dddd,故解压后的字符串为ddddff。
2dff!error两个d不需要压缩,故输入不合法。
4d@A!error全部由小写英文字母组成的字符串压缩后不会出现特殊字符@和大写字母A,故输入不合法。

源码和解析
解析:

按照题意可知:
1.合法的压缩字串只应包含数字和小写字母 包含其他字符则为不合法的,且数字必须大于2,否则也是不合法的。例如dd压缩为2d 其字符数并未减少,达不到压缩的效果。数字后必须出现字符,否则也是不合法的数据。最后一位是数字也不行
2.解决这个题,首先得判读是否合法,若合法,则再进行还原
3.还原时遇见数字n,则可以使用循环,来产生n个数字后出现的字符。

import java.util.ArrayList;public class T7 {public static void main(String[] args) {String input = "4dff";if (!check(input)) {System.out.println("!error");System.exit(0);}char chArr[] = input.toCharArray();// 重组字符 a15dff3d=> [1,15,d,f,f,3,d]ArrayList<String> chList = new ArrayList<>();String item = "";boolean isNumber = false;StringBuilder result = new StringBuilder();for (char c : chArr) {if (isNumberic(c)) {// 当前是数字if (isNumber) {// 前一个字符也是数字item += c;} else {// 前一个字符不是数字item = c + "";isNumber = true;}} else {// 是字符if (isNumber) {// 前面的是数字chList.add(item);item = "";isNumber = false;}chList.add(c + "");}}boolean flag = false;// 前一位是否是数字for (int j = 0; j < chList.size(); j++) {String n = chList.get(j);if (n.length() == 1) {// 单字符 可能是数字 也可能是字母if (isNumberic(n.charAt(0))) {// 是数字int len = Integer.parseInt(n);if (len <= 2) {System.out.println("!error");System.exit(0);}for (int i = 0; i < len; i++) {result.append(chList.get(j + 1));}flag = true;} else {// 是字符if (flag == false) {// 前一位是字符 直接拼接result.append(n);}flag = false;}} else {// 肯定是数字int len = Integer.parseInt(n);flag = true;for (int i = 0; i < len; i++) {result.append(chList.get(j + 1));}}}// System.out.println(chList);System.out.println(result);}// 判断单字符是否是数字static boolean isNumberic(char c) {int chr = c;// 转为ASCII码来判断 48位0if (chr >= 48 && chr <= 57) { // (int)'0' ==>48return true;}return false;}// 检查只包含数字和小写字母(未来过滤2及以下数字)static boolean check(String param) {char chArr[] = param.toCharArray();// 最后一位是数字也不行if (isNumberic(chArr[chArr.length - 1])) {return false;}boolean flag = true;for (char c : chArr) {if (c >= 'a' && c <= 'z') {continue;}int chr = c;// 转为ASCII码来判断 48位0if (chr >= 48 && chr <= 57) { // (int)'0' ==>48continue;}flag = false;break;}return flag;}
}
http://www.yayakq.cn/news/754682/

相关文章:

  • 大兴安岭建设局网站十大网页游戏排行
  • 在什么网站下载wordpress在线手机网站建设
  • 我国省级档案网站建设状况网络优化有哪些主要流程
  • 微信公众平台推广网站平台网站做等级保护测评
  • 危机公关蔡甸seo排名公司
  • 洞口网站开发公司竹子建站是什么
  • 平泉建设局网站网站建设大
  • 网站开源代码模版余姚网站制作
  • 西安网站制作哪家好平武移动网站建设
  • 百度网站推广找谁做长春制作公司网站
  • 企查查企业信息查询平台天津优化代理
  • 建设部网人事考试网站导游是什么
  • 宝塔设置加速wordpress站点秦皇岛背后六个老大
  • 重庆百度网站快速排名wordpress菜单不兼容
  • 网站建设佰首选金手指四手工加工免费供料在家
  • 怎么自己建设网站大数据时代的智能营销
  • 网站搭建响应式酒店电子商务网站建设流程
  • 南京做企业号微网站营销福布斯中国100名人榜
  • 最版网站建设案例网站seo李守洪排名大师
  • 网站备案的用户名是什么军事新闻2022
  • 麻涌仿做网站知乎网站怎么做推广
  • 广告公司网站建设的定位2023年央选职位表
  • 家装网站建设公司中国建设银行官方网站下载
  • 兰州优化网站公司wordpress文章分享到微信
  • 包头学做网站网站建设方面
  • 做网站用什么写中国建造师人才网官网
  • 重庆找网站推广单页式网站系统
  • 微网站内容页模板wordpress 取消标签
  • 移动版网站怎么做做一份网站的步zou
  • 网站建设淮安网站开发费用记账