String Compression
Implement a method to perform basic string compression using the counts of repeated characters. For example, the string aabcccccaaa would become a2b1c5a3.
If the "compressed" string would not become smaller than the original string, your method should return the original string.
You can assume the string has only upper and lower case letters (a-z).
Examplestr=aabcccccaaa return a2b1c5a3
str=aabbcc return aabbcc
str=aaaa return a4
public class Solution { /* * @param str: a string * @return: a compressed string */ public String compress(String str) { if (str == null || str.length() < 3) { return str; } StringBuilder sb = new StringBuilder(); Mapmap = new HashMap<>(); char pre = str.charAt(0); map.put(pre, 1); for (int i = 1; i < str.length(); i++) { char cur = str.charAt(i); if (cur == pre) { map.put(pre, map.get(pre)+1); } else { sb.append(pre); sb.append(map.get(pre)); map.put(pre, 0); map.put(cur, 1); pre = cur; } } sb.append(pre); sb.append(map.get(pre)); String res = sb.toString(); return res.length() < str.length() ? res : str; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68070.html
LeetCode version Problem Given a non-empty list of words, return the k most frequent elements. Your answer should be sorted by frequency from highest to lowest. If two words have the same frequency, t...
Problem Given a string s and a dictionary of words dict, determine if s can be break into a space-separated sequence of one or more dictionary words. Example Given s = lintcode, dict = [lint, code]. R...
Problem Given two strings, you have to find the missing string. Example Given a string str1 = This is an exampleGiven another string str2 = is example Return [This, an] Solution public class Solution ...
Problem Give a string, you can choose to split the string after one character or two adjacent characters, and make the string to be composed of only one character or two characters. Output all possibl...
Problem Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. In other words, one of the first strings permutations is the substring of the second string. ...
阅读 1125·2021-09-22 15:43
阅读 2323·2021-09-22 15:32
阅读 4366·2021-09-22 15:11
阅读 2121·2019-08-30 15:55
阅读 2502·2019-08-30 15:54
阅读 964·2019-08-30 15:44
阅读 1065·2019-08-29 13:26
阅读 773·2019-08-29 12:54