L1-058 6翻了 (15 分)(while的巧妙使用)

简介: L1-058 6翻了 (15 分)(while的巧妙使用)

不给出题干了,直接上代码

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
typedef long long ll;
string s;
int cnt,cnts;
int main()
{
  getline(cin,s);
  int len=s.size();
  for(int i=0;i<len;i++)
  {
    cnt=0;
    if(s[i]=='6')
    {
      while(s[i]=='6')
      {
        cnt++;
        i++;  
      }
      if(cnt<=3)
      {
        for(int i=1;i<=cnt;i++) cout<<"6";
        i--;
      }
      else
      if(cnt>3&&cnt<=9)
      {
        cout<<"9";
        i--;
      }
      else
      {
        cout<<"27";
        i--;
      }
    }
    else
    {
      cout<<s[i];
    }
  }
}


反思


一开始用 stringstream 流做的,只有13分,各种错误,后来改了,以后碰到连续的相同字母和连续的相同数字,都用while处理,既能记录个数,又能让下标下移,十分好用


目录
相关文章
|
12月前
|
机器学习/深度学习 算法 图计算
代码随想录训练营day59| 503.下一个更大元素II 42. 接雨水
代码随想录训练营day59| 503.下一个更大元素II 42. 接雨水
|
算法 C++
【每日算法Day 99】你们可能不知道只用20万赢到578万是什么概念
【每日算法Day 99】你们可能不知道只用20万赢到578万是什么概念
|
存储 机器学习/深度学习
二叉树详解一万字(基础版)看着一篇就够了(上))
树的结构是一种非线性的数据结构,它是由n(n>=0)个节点组成的一个有层次的关系集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说他是根朝上,而叶朝下。
74 0
二叉树详解一万字(基础版)看着一篇就够了(下)
对于堆的调整相当于是对数组的一种调整,将数组的首地址传进来,要调整的数组的长度,相当于是退出的循环条件,向下传给进来parent(root),向上传给child(size-1),然后再用一个表示另外一个。将参数传进来之后进行比较,先比较两个孩子,找出小的那个,然后交换较小孩子和双亲节点,在比较左右孩子的时候要保证右孩子也存在才可以进行比较,就是child+1<size,原因就是这里是堆,是完全二叉树
43 0
随机练习题:浅浅固定思路
随机练习题:浅浅固定思路
249 0
|
算法 NoSQL Redis
关于跳表,这么解释你肯定能听懂
如何用 30s 给面试官讲清楚什么是跳表
关于跳表,这么解释你肯定能听懂
|
存储 SQL 关系型数据库
覆盖索引这回事算是整明白了
覆盖索引这回事算是整明白了
211 0
覆盖索引这回事算是整明白了
L1-058 6翻了 (15 分)
L1-058 6翻了 (15 分)
145 0
L1-058 6翻了 (15 分)
L1-019 谁先倒 (15 分)
L1-019 谁先倒 (15 分)
71 0
L1-021 重要的话说三遍 (5 分)
L1-021 重要的话说三遍 (5 分)
71 0