博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode443
阅读量:6175 次
发布时间:2019-06-21

本文共 1095 字,大约阅读时间需要 3 分钟。

使用两个数组分别记录字符和对应的数字,然后清除原来的vector,重新向里面添加元素。注意判断1个字符时,不将'1'加入vector。

int compress(vector
& chars) { const int N = 1000; char words[N];//存储字符 int count[N];//存储数字 memset(words, ' ', sizeof(words));//count初始化为全' ' memset(count, 0, sizeof(count));//count初始化为全0 char lastChar = ' ';//ASCII:32 int i = 0; for (auto c : chars) { if (c != lastChar)//新字符 { if (lastChar == ' ') { i = 0; } else { i++; } } words[i] = c; count[i]++; lastChar = c; } chars.clear(); for (int j = 0; j <= i; j++) { chars.push_back(words[j]); int a = count[j]; if (a == 1) { continue; } char str[4]; sprintf(str, "%d", a); for (auto s : str) { if (s == '\0') { break; } chars.push_back(s); } } int sum = chars.size(); return sum;}

 

转载于:https://www.cnblogs.com/asenyang/p/9700118.html

你可能感兴趣的文章
不定项选择题
查看>>
netty 分析博客
查看>>
Spring Cloud构建微服务架构服务注册与发现
查看>>
BCGControlBar教程:如何将MFC控件的BCGControlBarBCGSuite添加到对话框中
查看>>
深入理解Java8 Lambda表达式
查看>>
Java集合框架面试问题集锦
查看>>
Java每天10道面试题,跟我走,offer有!(六)
查看>>
四种途径提高RabbitMQ传输数据的可靠性(二)
查看>>
c语言实现多态
查看>>
Linux 在 TOP 命令中切换内存的显示单位
查看>>
浏览器的加载与页面性能优化
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
Java基础学习总结(5)——多态
查看>>
shell: demo
查看>>
使用vc+如何添加特殊字符的控件(创世纪篇)
查看>>
Linux下的常用信号
查看>>
3.UIImageView+category
查看>>
2.UIView+category
查看>>
Android ImageLoader使用
查看>>
LDTP
查看>>