zoukankan      html  css  js  c++  java
  • LeetCode 37 Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:
    1, 11, 21, 1211, 111221, ...

    1 is read off as "one 1" or 11.
    11 is read off as "two 1s" or 21.
    21 is read off as "one 2, then one 1" or 1211.

    Given an integer n, generate the nth sequence.

    Note: The sequence of integers will be represented as a string.

    public class Solution {
    	public String countAndSay(int n) {
    		if (n == 0)
    			return "";
    		StringBuffer sb = new StringBuffer("1");
    		StringBuffer tempSB = new StringBuffer();
    
    		for (int i = 1; i < n; i++) {
    			int counter = 1;
    			char tempChar = sb.charAt(0);
    			for (int j = 1; j < sb.length(); j++) {
    				if (sb.charAt(j) == tempChar)
    					counter++;
    				else {
    					tempSB.append(""+counter + tempChar);
    					tempChar = sb.charAt(j);
    					counter = 1;
    				}
    			}
    			tempSB.append(""+counter + tempChar);
    			sb.delete(0, sb.length());
    			sb.append(tempSB);
    			tempSB.delete(0, tempSB.length());
    		}
    		return sb.toString();
    	}
    }
    或者

    	public String countAndSay(int n) {
    		if (n == 0) return "";
    		StringBuffer sb = new StringBuffer("1");
    		StringBuffer tempSB = new StringBuffer();
    
    		for (int i = 1; i < n; i++) {
    			int counter = 1;
    			char tempChar = sb.charAt(0);
    			for (int j = 1; j < sb.length(); j++) {
    				if (sb.charAt(j) == tempChar)
    					counter++;
    				else {
    					tempSB.append(Integer.toString(counter)+ tempChar);
    					tempChar = sb.charAt(j);
    					counter = 1;
    				}
    			}
    			tempSB.append(Integer.toString(counter)+ tempChar);
    			sb.delete(0, sb.length());
    			sb.append(tempSB);
    			tempSB.delete(0, tempSB.length());
    		}
    		return sb.toString();
    	}



  • 相关阅读:
    Mysql 之根据经纬度按距离排序
    Python的列表和元组
    go实现堆排序、快速排序、桶排序算法
    微信Hook劫获protobuf数据
    手机号批量查询微信昵称/网名/名称
    保存整个网页的内容
    天地图官网引入文件
    Postman-动态传参
    JAVA FileOutputStream与BufferedOutputStream的区别
    JAVA中sleep()和wait()的区别
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6764455.html
Copyright © 2011-2022 走看看