package javaLeetCode.primary;

import java.util.Scanner;

public class CountandSay_38 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("Please input a integer:");
int n = input.nextInt();
System.out.println(countAndSay_2(n)); }// end main() public static String countAndSay_1(int n) { StringBuilder str = new StringBuilder("1");
if (n <= 0 || n > 30) {
return null;
} else {
int i = 1;
int num = 1;// Count the number of character.
int temp = 1;// Control the whileLoop.
while (temp < n) {
StringBuilder str_1 = new StringBuilder();
for (i = 1; i < str.length(); i++) {
if (str.charAt(i) == str.charAt(i - 1)) {
num += 1;
} else {
str_1.append(num + "" + str.charAt(i - 1));
num = 1;
} // end if
} // end for
str_1.append(num + "" + str.charAt(i - 1));
num = 1;
str = str_1;
temp++;
} // end while
} // end if
return str.toString();
}// end countAndSay() public static String countAndSay_2(int n) { StringBuilder str = new StringBuilder("");
if (n >= 1 && n <= 30) {
str.append("1");
str = countAndSay_2_1(n, str);
} else {
;
} // end if
return str.toString();
}// end countAndSay() public static StringBuilder countAndSay_2_1(int n, StringBuilder str) { if (n > 1) {
int i = 1;
int num = 1;// Count the number of character.
StringBuilder str_1 = new StringBuilder();
for (i = 1; i < str.length(); i++) {
if (str.charAt(i) == str.charAt(i - 1)) {
num += 1;
} else {
str_1.append(num + "" + str.charAt(i - 1));
num = 1;
} // end if
} // end for
str_1.append(num + "" + str.charAt(i - 1));
str = str_1;
str = countAndSay_2_1(--n,str);
// return str;
} else {
;
} // end if
return str;
}// end countAndSay_2_1()
}// end CountandSay_38

Java实现 LeetCode_0038_CountandSay的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

随机推荐

  1. [ACdream 1212 New Year Bonus Grant]贪心

    题意:员工之间形成一棵树,上级可以给下级发奖金,任何一个人最多可以给一个下级发,并且发了奖金后就不能接受奖金.求总共最多可以产生多少的奖金流动 思路:每次选择没有下级并且有上级的员工a,令它的上级为b ...

  2. 第六次java上机作业

    .编写一个简单程序,要求数组长度为5,静态赋值10,,,,,在控制台输出该数组的值. package mm; public class Test { public static void main(S ...

  3. 使用IDEA远程向伪分布式搭建的Hadoop提交MapReduce作业

    环境 VirtualBox 6.1 IntelliJ IDEA 2020.1.1 Ubuntu-18.04.4-live-server-amd64 jdk-8u251-linux-x64 hadoop ...

  4. Asp.Net Core 3.1学习-读取、监听json配置文件(7)

    1.前言 文件配置提供程序默认的给我们提供了ini.json.Xml等.都是读取不同格式的文件.文件配置提供程序支持文件可寻.必选.文件变更的监视. 2.读取配置文件 主要运用的包:需要Ini.xml ...

  5. mysql 5.7.22安装

    1.解压目录. 2.安装 3.重新设置密码 set password=password('123456'); FLUSH PRIVILEGES;

  6. 第四篇:NLP(Natural Language Processing)自然语言处理

    NLP自然语言处理: 百度AI的 NLP自然语言处理python语言--pythonSDK文档: https://ai.baidu.com/docs#/NLP-Python-SDK/top 第三方模块 ...

  7. ABAP基础3:OPENSQL

    select result from source where condition group by fileds having condition order by fields into targ ...

  8. js得到文件后缀

    js得到文件后缀  http://www.cnblogs.com/lan0725/archive/2010/05/25/1873745.html function getFileExt(str) {  ...

  9. 容器技术之Docker基础入门

    前文我们了解了下LXC的基础用法以及图形管理工具LXC WEB Panel的简单使用,有兴趣的朋友可以参考https://www.cnblogs.com/qiuhom-1874/p/12904188. ...

  10. 依赖工程开发,编译报错Command Libtool failed with a nonzero exit code

    升级AFN之后,SDK工程始终编译不通过找不到SDK.a 原因在SDK Target ->Build phases ->Link Binary With Libraries 多添加了SDK ...