精华内容
下载资源
问答
  • 压缩字符串中的连续重复字符

    千次阅读 2017-03-01 22:02:37
    请编写一个字符串压缩程序,将字符串中连续出现重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串”abcbc”由于无连续重复字符压缩字符串还是”abcbc”。 2...

    题目:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
    压缩规则:
    1、仅压缩连续重复出现的字符。比如字符串”abcbc”由于无连续重复字符,压缩后的字符串还是”abcbc”。
    2、压缩字段的格式为”字符重复的次数+字符”。例如:字符串”xxxyyyyyyz”压缩后就成为”3x6yz”。

    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    //
    int main()
    {
    //    char str[99]="xxxyyyyyyz";//3x6yz
    //    char str[99]="abcbc";
        char str[99]="pppppppp";//8p
        int strLength=strlen(str);
        int count=1;//记录重复个数
        for(int i=0;i<strLength;++i){
    
            if(str[i+1]==str[i]){
                count++;
            }
            else{
                if(count==1){
                    printf("%c",str[i]);
                }
                else{
                    printf("%d%c",count,str[i]);
                }
                count=1;//这句重置不要忘记
            }
        }
        return 0;
    }
    
    展开全文
  • 逻辑:将列表压缩为一个字符串,其中在列表中重复两次字母在结果字符串中重复指定次数.例子:> [‘a’,’a’,2,’b’,’c’,’c’,3], – > aabccc> [‘a,’,’a’,2] – > AA> [‘c’,’c’,3] ...

    逻辑:将列表压缩为一个字符串,其中在列表中重复两次的字母在结果字符串中重复指定的次数.

    例子:

    > [‘a’,’a’,2,’b’,’c’,’c’,3], – > aabccc

    > [‘a,’,’a’,2] – > AA

    > [‘c’,’c’,3] – > CCC.

    我的代码是:

    def run_length_decoder(in_list):

    list=[]

    for i in range(0,len(in_list)-1):

    if in_list[i]==in_list[i+1]:

    for x in range((i+2)-1):

    list.append(in_list[i])

    else:

    list.append(in_list[i])

    list.append(in_list[-1])

    word = ""

    for letter in list:

    word += str(letter)

    return word

    这不起作用…因为运行上面的[‘a’,’a’,2,’b’,’b’,2,’a’,’b’,’a’]会返回’aaa2bbbbbb2aba’ ,但应该返回’aabbaba’.

    展开全文
  • leetcode之压缩字符串中的重复字符

    千次阅读 2017-08-13 16:25:07
    请编写一个字符串压缩程序,将字符串中连续出现重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串”abcbc”由于无连续重复字符压缩字符串还是”abcbc”...

    题目

    通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。

    压缩规则:

    1、仅压缩连续重复出现的字符。比如字符串”abcbc”由于无连续重复字符,压缩后的字符串还是”abcbc”

    2、压缩字段的格式为字符重复的次数+字符。例如:字符串”xxxyyyyyyz”压缩后就成为”3x6yz”

     

    思路:

    遍历字符串得到重复字符得个数与重复字符。

    实现:

    public void stringZip(String str) {

                  StringBufferstringBuffer = new StringBuffer();

                  charlast = str.charAt(0);

                  intcount=1;

                  for(inti=1;i<str.length();i++){

                         if(str.charAt(i)==last){

                                count++;

                         }

                         else{

                                if(count>1){

                                       stringBuffer.append(count);

                                }

                                stringBuffer.append(last);

                                last=str.charAt(i);

                                count=1;

                         }

                  }

                  //添加最后得字符

                  if(count>1){

                         stringBuffer.append(count);

                  }

                  stringBuffer.append(last);

                 

                  Stringstring = stringBuffer.toString();

                  System.out.println(string);

          

           }

    展开全文
  • 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩字符串。 例如: aac 压缩为 1ac xxxxyyyyyyzbbb 压缩为 3x5yz2b 输入描述: 任意长度字符串 如 ...

    题目描述:

    输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。

    例如:

    aac 压缩为 1ac

    xxxxyyyyyyzbbb 压缩为 3x5yz2b

    输入描述:

    任意长度字符串 如 xxxxyyyyyyzbbb

    输出描述:

    压缩后的字符串,即 3x5yz2b

    分析思路:

            运用 StringBuffer 的 append() 方法来实现字符串的增加。

            (1) 若 count 不为 0 ,则先将 count 加入到 sb中,然后再讲字符加入 sb 中。

            (2) 若 count 为 0 ,则将字符加入 sb 中。

            注意点:

            对于例子xxxyyyyyyzbbb中,最后一个b 与它的前一个b相等,没有执行 else 语句,也就没有执行append() 方法。

    import java.util.Scanner;
    
    public class Main
    {
     
        public static void main(String [] args)
        {
            Scanner sc = new Scanner(System.in);
            String input = sc.nextLine();
            StringBuffer sb = new StringBuffer();
            int count = 0;//统计相同字符的个数
            for(int i=0; i< input.length() - 1; i++)
            {
                char c = input.charAt(i);
                char nextC = input.charAt(i+1);
                if(c == nextC)
                    count++;
                else
                {
                    if(count != 0)
                    {
                        sb.append(count);
                        count = 0;
                    }
                    sb.append(c);
                }
            }
            if(count != 0)
                sb.append(count);
            sb.append(input.charAt(input.length()-1));
            System.out.println(sb.toString());
        }
    }

    方法二:字符串的直接相加,不适用StringBuffer.append() 方法。此方法对于字符串 "hello  world"中的空格无效。。。

    import java.util.Scanner;
    public class Main
    {
        public static void main(String [] args)
        {
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            int len = str.length();
            char [] charArray = str.toCharArray();//定义一个数组,字符串转为数组
            
            String newStr = "";//定义一个新的字符串
            int count = 0;//统计重复数字的个数
            for(int i=0; i<len-1; i++)
            {
                if(charArray[i]!=charArray[i+1])
                {
                    if(count > 0)
                    {
                        newStr = newStr + count;//字符串连接
                        count = 0;
                    }
                    newStr = newStr + charArray[i];//字符串连接
                }
                else
                {
                    count++;
                }
            }
            if(count != 0)
                newStr = newStr + count;
            newStr = newStr + charArray[len-1];
            
            System.out.println(newStr);
        }
    }

     

    展开全文
  • 请编写一个字符串压缩程序,将字符串中连续出现重复字母进行压缩,并输出压缩字符串。 * 压缩规则: * 1、仅压缩连续重复出现字符。比如字符串”abcbc”由于无连续重复字符压缩字符串还是”abcbc”...
  • 请编写一个字符串压缩程序,将字符串中连续出现重复字母进行压缩,并输出压缩字符串。压缩规则:1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc".2、压缩字段...
  • 请编写一个字符串压缩程序,将字符串中连续出现重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"...
  • 已经很久没有写博客了,2017年最后一天写一篇,用这样方式和2017年告别挺好。这段时间经历找工作,是我这...请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩字符串。压缩规则:
  • 请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc"。 2、压缩...
  • 请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc"。 2、压缩...
  • 比如字符串”abcbc”由于无连续重复字符压缩的字符串还是”abcbc”。 2、压缩字段格式为”字符重复次数+字符”。例如:字符串”xxxyyyyyyz”压缩后就成为”3x6yz”。 要求实现函数: void stringZip(const ...
  • 字符串中连续出席的重复字母进行压缩(华为校园招聘题)
  • 请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc"。 2、压缩...
  • 请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串”abcbc”由于无连续重复字符压缩字符串还是”abcbc”。 2...
  • (此为自己web前端面试题目,参考网上各种详解后总结,记录方便以后学习) 例如: 输入:"xxxyyyyyyz" 输出:"3x6yz
  • 压缩字符串

    2017-03-24 18:24:59
    请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩字符串。 输入:AABBCC 输出:2A2B2C 代码 这道题目没有什么难度。Java版本import java.util.Scanner;public class ...
  • LeetCode443 压缩字符串

    2020-08-26 08:49:42
    双指针,需要left和right对字符串中的连续单词进行遍历,则right-left为连续重复的次数,同时因为在元数组上进行修改,所以需要记录一个对数组中进行修改的尾指针位置,在修改的时候不断将新的值赋值给尾指针之后的...
  • 华为 压缩字符串

    2014-09-02 21:33:00
    请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。压缩规则:1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc"。2、压缩字段...
  • 字符串压缩

    2019-09-15 09:57:33
    请编写一个字符串压缩程序,将字符串中连续出席重复字母进行压缩,并输出压缩字符串。 压缩规则: 1、仅压缩连续重复出现字符。比如字符串"abcbc"由于无连续重复字符压缩字符串还是"abcbc"。 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 450
精华内容 180
关键字:

压缩字符串中的连续重复字符