题目标签:String 这一题需要3个pointers: anchor:标记下一个需要存入的char read:找到下一个不同的char write:标记需要存入的位置 让 read指针 去找到下一个char,找到后先把 anchor 位置上的 char 存入 write 位置, 然后把 char 重复的次数 转化为 char 存入下一个位置,最后重新设定 anchor = read + 1. Java Solution: Runtime beats 26.91% 完成日期:10/09/2018…
给定一组字符,使用原地算法将其压缩.压缩后的长度必须始终小于或等于原数组长度.数组的每个元素应该是长度为1 的字符(不是 int 整数类型).在完成原地修改输入数组后,返回数组的新长度.进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6个字符应该是:["a"…
给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长度. 进阶: 你能否仅使用O(1) 空间解决问题? 示例 1: 输入: ["a","a","b","b","c","c","c"] 输出: 返回6,输入数组的前6个字符应该是:[&q…
下面反向遍历,还是正向好. void left(vector<char>& v, bool p(int)) { ; ; ; while (del < max_index) { while (p(v[del]) && del < max_index) del++; if (del >= max_index) break; if (rel < del) rel = del; while (!p(v[rel]) && rel <=…
Question 443. String Compression Solution 题目大意:把一个有序数组压缩, 思路:遍历数组 Java实现: public int compress(char[] chars) { if (chars.length == 0) return 0; StringBuilder sb = new StringBuilder(); char cur = chars[0]; int sum = 1; for (int i = 1; i <= chars.length…
problem 443. String Compression Input ["a","a","b","b","c","c","c"] Output ["a","a","b","b","c","c"] Expected ["] a: Giv…
原题: 443. String Compression 解题: 看到题目就想到用map计数,然后将计数的位数计算处理,这里的解法并不满足题目的额外O(1)的要求,并且只是返回了结果array的长度,并未修改原始vector的元素. 代码如下: class Solution { public: int bitsOfNumber(int n) { int cnt = 0; if (n <= 1) return 0; //若为1,则不增加 while(n) //统计位数,如12就是2位 { cnt++…
[抄题]: Given an array of characters, compress it in-place. The length after compression must always be smaller than or equal to the original array. Every element of the array should be a character (not int) of length 1. After you are done modifying th…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 使用额外空间 不使用额外空间 日期 题目地址:https://leetcode.com/problems/string-compression/description/ 题目描述 Given an array of characters, compress it in-place. The length after compression must…
题目如下:https://oj.leetcode.com/problems/interleaving-string/ Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 = "aabcc", s2 = "dbbca", When s3 = "aadbbcbcac", return true. Whe…