11 条题解

  • 2
    @ 2024-10-29 11:49:46
    n=input()
    k=1
    p=""
    for i in range(len(n)-1):
        if n[i]==n[i+1]:
            k+=1
        else:
            p=p+str(k)+n[i]
            k=1
    p=p+str(k)+n[i+1]
    print(p)
    
    • 2
      @ 2024-9-3 8:00:11
      s=input()
      a=1
      result=""
      for i in range(1,len(s)):
          if s[i]==s[i-1]:
              a+=1
          else:
              result=result+str(a)+s[i-1]
              a=1
      result=result+str(a)+s[len(s)-1]
      print(result)   
      
      • 1
        @ 2025-3-24 15:14:21
        
        s=input()
        c=1
        ans=""
        b=len(s)
        for i in range(0,b-1):#处理边界范围
            if s[i]==s[i+1]:
                c+=1
            else:
                ans=ans+str(c)+s[i]#也可用end=“”无换行输出
                c=1
        ans=ans+str(c)+s[b-1]
        print(ans)#最后统一输出
        • 1
          @ 2025-3-23 16:39:17
          s=input()
          b=1
          c=""
          for i in range(0,len(s)-1):
              if s[i]==s[i+1]:
                  b+=1
              else:
                  c=c+str(b)+s[i]
                  b=1
          c=c+str(b)+s[i+1]
          print(c) 
          
          • 1
            @ 2023-3-30 21:19:30
            #include <bits/stdc++.h>
            using namespace std;
            const int N=10000;
            int b[N];
            int main()
            {
                memset(b,0,sizeof(b));
                string a;
                cin>>a;
                int lena=a.length();
                for(int i=0;i<=lena-1;i++)
                {
                    b[(int)a[i]]++;
                }
                char k[N];
                int o=1;
                for(int i=0;i<=lena-1;i++)
                {
                    char j=a[i];
                    k[o]=j;
                    if(a[i+1]!=j)
                    {
                        o++;
                    }
                    
                }
                for(int i=1;i<=o;i++)
                {
                 for(int g=0;g<=1000;g++)
                 {
                    if(char(g)==k[i]&&b[g]!=0)
                    {
                        cout<<b[g]<<k[i];
                        
                    }
                 }
                 
                }
                
            }
            

            莫名奇妙过了?

            • 1
              @ 2023-2-3 16:13:45

              思想:哈希表(桶思想)

              C++

              #include <bits/stdc++.h>
              using namespace std;
              
              typedef pair<char,int> pci;
              unordered_map<char,int> h;
              
              vector<pci> v;
              
              int main()
              {
              	string s;
              	cin >> s;
              	for(auto x:s)
              	{
              		if(h[x] == 0)
              		{
              			pci t = {x,1};
              			v.push_back(t);
              			h[x] = v.size();
              		}
              		else v[v.size()-1].second++;
              	}
              	for(auto x:v) cout << x.second << x.first;
              	return 0;
              }
              

              Python

              v = []
              h = {}
              
              s = input()
              for x in s:
                  if x not in h:
                      t = [x,1]
                      v.append(t)
                      h[x] = len(v)
                  else:
                      v[len(v)-1][1]+=1
              
              for x in v:
                  print(x[1],end = "")
                  print(x[0],end = "")
              
              • 0
                @ 2025-3-23 17:07:10
                string = input()
                out = "" 
                j = string[0]
                time = 1 # 出现次数
                k = 1 # 遍历次数
                for i in string[1:]:
                    if i == j:
                        time += 1
                        if k == len(string) - 1:
                            out += "{}{}".format(time,j)
                    else:
                        out += "{}{}".format(time,j)
                        time = 1
                        if k == len(string) - 1:
                            out += "{}{}".format(time,i)
                    k += 1
                    j = i
                
                print(out)
                
                • 0
                  @ 2025-3-23 16:56:50
                  s=input()
                  b=len(s)
                  c=""
                  a=1
                  for i in range(1,b):
                      if s[i-1]==s[i]:
                          a+=1
                      else:
                          c=c+str(a)+s[i-1]
                          a=1
                  c=c+str(a)+s[b-1]
                  print(c)
                  
                  
                  • 0
                    @ 2025-3-23 16:55:41

                    s=input() b=len(s) c="" a=1 for i in range(1,b): if s[i-1]==s[i]: a+=1 else: c=c+str(a)+s[i-1] a=1 c=c+str(a)+s[b-1] print(c)

                    • -4
                      @ 2024-1-19 10:06:45

                      string=input("输入字符串:") c=1 s="" for p in range(1,len(string)): if string[p]==string[p-1]: c+=1 else: s+=str(c)+string[p-1] c=1 s+=str(c)+string[p]

                      print("压缩后数据为:",s)

                      • -8
                        @ 2023-7-31 16:29:09

                        (⊙﹏⊙)

                        朴实无华

                        #include<bits/stdc++.h>
                        #include<bits/stdc++.h>
                        using namespace std;
                        
                        char n[10000];
                        int m[10000];
                        
                        int main()
                        {
                        
                            string a;
                            cin >>a;
                            n[0]='1';
                            int k=1;
                            for(int i=0; i<a.length(); i++){
                                if(a[i]!=a[i-1]){
                                    n[k]=a[i];
                                    for(int j=i; j>-1; j++){
                                        if(a[j]==n[k]){
                                            m[k]++;
                                        }
                                        else{break;}
                                    }
                                    k++;
                                }
                            }
                            k--;
                            for(int i=1; i<=k; i++){
                                cout<<m[i]<<n[i];
                            }
                        
                        	return 0;
                        }
                        
                        • 1

                        信息

                        ID
                        795
                        时间
                        1000ms
                        内存
                        256MiB
                        难度
                        4
                        标签
                        (无)
                        递交数
                        1435
                        已通过
                        649
                        上传者