P1319题目要求

P1319题目链接


P1320题目要求

P1320题目链接


分析

这两个题啊,就是互逆过程嘛……

说白了就是统计0与1,将一个0-1点阵压缩为一串数值或者将一串数值复原为一个0-1点阵……

值得一提的是,其实StringBuilder处理结果是很好的,遇到结尾不需要空格的话直接toString()以后trim()一下就没了呢,很省事,根本不用多次输出或者多次字符串连接(+)……

0与1的话分开处理就行,遇到不同数值的时候处理一下就行……
看代码就很容易理解的……

P1319代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String[] str_array = scanner.nextLine().split("\\s+");scanner.close();int num = Integer.parseInt(str_array[0]);boolean zero = true;StringBuilder tempString = new StringBuilder();for (int i = 1; i < str_array.length; i++) {int tempNum = Integer.parseInt(str_array[i]);if (zero) {for (int j = 0; j < tempNum; j++) {tempString.append(0);if (tempString.length() == num) {System.out.println(tempString);tempString = new StringBuilder();}}} else {for (int j = 0; j < tempNum; j++) {tempString.append(1);if (tempString.length() == num) {System.out.println(tempString);tempString = new StringBuilder();}}}//改变下一次的标记if (zero) {zero = false;} else {zero = true;}}}
}

P1320代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String firstLine = scanner.nextLine();int num = firstLine.length(), tempCounter = 0;boolean zero = true;String[] array = new String[num];array[0] = firstLine;for (int i = 1; i < num; i++) {array[i] = scanner.nextLine();}scanner.close();StringBuilder builder = new StringBuilder(num + " ");for (int i = 0; i < num; i++) {char[] chars = array[i].toCharArray();for (char c : chars) {if (c == '0') {if (zero) {tempCounter++;} else {builder.append(tempCounter).append(" ");tempCounter = 1;zero = true;}} else {if (zero) {builder.append(tempCounter).append(" ");tempCounter = 1;zero = false;} else {tempCounter++;}}}}if (tempCounter != 0) {builder.append(tempCounter);}System.out.println(builder.toString().trim());}
}

互逆的压缩与解压(洛谷P1319、P1320题题解,Java语言描述)相关推荐

  1. 【OJ】洛谷试炼场の新手村整合(Java语言描述)

    Pass 最近通关了洛谷试炼场新手村Part,做了很多的红题和橙题,这里做一下整理吧,希望对需要的人有所帮助. 说明 这些内容确实不是什么复杂的东西,所以无需多言. 洛谷的第一个任务 这里是我写的所有 ...

  2. 注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)

    题意描述 P1035题目链接 分析 题不难,至少我们可以用比较直接的思维,用循环去AC它~~ 每次自增就行,加一个计数器counter就完事~~ 自测--听取WA声一片 import java.uti ...

  3. 欢乐的跳(洛谷P1152题目链接,Java语言描述)

    题目要求 P1152题目链接 分析 我们要判重,就可以用数组或者说HashSet,最近很久用Set和Map用的有点上头,没办法,就选HashSet吧. 思路是既然num个相邻数的差值要涵盖1~num- ...

  4. 并非最边界的情况“OK“就真的“OK“(记洛谷P1720WA的经历,Java语言描述)

    题目要求 P1720题目链接 分析 这个题纯粹在鬼扯,数学基础OK的人一眼就看得出是斐波那契数列. 求Fn其实是程设基础水平的题,千万别写递归--O((5/3)^n),真的慢~~ 这破题为啥还WA 我 ...

  5. 1078. 字符串压缩与解压 (20)-PAT乙级真题

    文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来表示.如果字符没有重复,就原样输出.例如 ...

  6. 洛谷团队月赛题:题解

    10pts10pts10pts 暴力算不解释,时间复杂度O(kn+k2)O(kn+k^2)O(kn+k2). 30pts30pts30pts 我们观察到nnn很大,杨辉三角会T,直接算会上溢,所以需要 ...

  7. 工具类:(一) java压缩与解压

    工具类:(一) java压缩与解压 本工具类采用的是java.util包下的Deflater进行压缩,以及Inflater进行解压, 适用于程序中需要通过远程接口调用发送或接收数据时: /*** 压缩 ...

  8. 过河卒(洛谷P1002题解,Java语言描述)

    题目要求 P1002题目链接 分析 这个题分类是DP,动态规划~~ 用搜索解的话会超时-- 具体的规律见下文-- 思路讲解的话可以说递推啊,动归啊,但其实我这种弱鸡就不是很能入目三分的理解了诶-- 另 ...

  9. linux 压缩文件夹格式,Linux下常见文件格式的压缩、解压小结

    Linux下常见文件格式的压缩.解压小结 .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ...

最新文章

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...
  2. tomcat更改端口
  3. 火爆背后的挑战:直播平台的高并发架构设计
  4. [LeetCode] Palindrome Number Valid Palindrome - 回文系列问题
  5. 怎样看虚拟主机的服务器,虚拟主机怎么查看服务器类型
  6. dubbo的监控中心
  7. OpenGL ES SDK for Android - 4
  8. 【转】char,wchar_t,WCHAR,TCHAR,ACHAR的区别
  9. linux下网络配置 命令
  10. docker学习3-虚拟网络模式
  11. linux禁止客户端上传文件_linux 文件服务
  12. word中将宏模块添加到Normal.dotm模板中
  13. PD快充协议JD6606S资料
  14. 彩信 添加 html,彩信接口 | 微米-中国领先的短信彩信接口平台服务商
  15. 算法复杂度分析中的符号(Θ、Ο、ο、Ω、ω)的意义
  16. 使用插件对温度植被干旱指数进行计算
  17. 基于layui和ThinkPHP6开发的通用后台管理框架
  18. hahabet05-com:大数据与数据科学课程体系--哈哈电竞
  19. Rocket MQ 问题集
  20. 腾讯云服务器linux+CentOS7.9+yum源+nginx搭建网站

热门文章

  1. 安卓手机的a/span的宽高失效
  2. [C/C++]BKDRHash
  3. winform 分页控件分享(二)
  4. 一个ASP.NE导出Excel类
  5. 第六届省赛(软件类)真题----Java大学C组答案及解析
  6. java offsetdatetime_Java OffsetDateTime withHour()用法及代码示例
  7. python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...
  8. 怎么把东西去掉修图_很多人花几千块学习商业修图,其实跟把钱扔了一样。?...
  9. matlab检测串口数据帧头,MATLAB 串口读取姿态数据及GUI实时动态显示设计
  10. android wifi 组播,在Android上显示实时UDP或RTP流(多播)