• leetcode38.外观数列(循环匹配)


    package newleetcode;
    //未完全理解
    public class LeetCode38 {
    public String viewDate(int n){
    //初始化str
    String str="1";
    //通过循环修改数组
    for(int i=2;i<=n;i++){
    //每次循环初始化builder
    StringBuilder builder=new StringBuilder();
    //将初始值赋给pre
    char pre= str.charAt(0);
    //初始化count
    int count=1;
    /**
    * 依据for循环依次描述数据,相同时count1
    * 不相同时即更新数据
    */
    for(int j=1;j<str.length();j++){
    //逐位比较
    char c=str.charAt(j);
    //若相等则count1
    if(c==pre){
    count++;
    }else {
    //若不等则先录入数据表示存在【countpre
    builder.append(count).append(pre);
    //被描述值更新
    pre=c;
    //count初始化
    count=1;
    }
    }
    //录入最后一位(pre)的描述,若存在多个pre,有count记录【描述数据最后一位】
    builder.append(count).append(pre);
    str=builder.toString();
    }
    return str;
    }

    public static void main(String args[]){
    LeetCode38 leetCode38=new LeetCode38();
    System.out.println(leetCode38.viewDate(1));
    System.out.println(leetCode38.viewDate(2));
    System.out.println(leetCode38.viewDate(3));
    System.out.println(leetCode38.viewDate(4));
    System.out.println(leetCode38.viewDate(5));
    }
    }
    /**数组123456,是从1开始比较,不是6,最里面的是里层,最外面的是外层,从里至外判断
    * leetcode提交代码
    * class Solution {
    * public String countAndSay(int n) {
    * //初始化str
    * String str="1";
    * //通过循环修改数组
    * for(int i=2;i<=n;i++){
    * //每次循环初始化builder
    * StringBuilder builder=new StringBuilder();
    * //将初始值赋给pre
    * char pre= str.charAt(0);
    * //初始化count
    * int count=1;
    *
    * //依据for循环依次描述数据,相同时count1
    * //不相同时即更新数据
    * for(int j=1;j<str.length();j++){
    * //逐位比较
    * char c=str.charAt(j);
    * //若相等则count1
    * if(c==pre){
    * count++;
    * }else {
    * //若不等则先录入数据表示存在【countpre
    * builder.append(count).append(pre);
    * //被描述值更新
    * pre=c;
    * //count初始化
    * count=1;
    * }
    * }
    * //录入最后一位(pre)的描述,若存在多个pre,有count记录【描述数据最后一位】
    * builder.append(count).append(pre);
    * str=builder.toString();
    * }
    * return str;
    * }
    * }
    */
  • 相关阅读:
    《数据结构第一章复习》
    《图的基本操作》
    《矩阵的一些基本操作》
    <矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>
    《两个二维数组(矩阵)相乘》
    C#隐藏与显示系统任务栏和开始菜单栏按钮
    C#通过窗体属性缩小一定尺寸时,无法再缩小窗体尺寸问题
    C#一个窗体调用另一个窗体的方法
    C#异步线程
    C#中MessageBox.Show问题(让提示窗口不显示在任务栏中)
  • 原文地址:https://www.cnblogs.com/shudaixiongbokeyuan/p/13412951.html
Copyright © 2020-2023  润新知