已经很久没有写博客了,2017年的最后一天写一篇,用这样的方式和2017年告别挺好的。这段时间经历找工作,是我这一年截止到目前最迷茫的时期。看看程序,思考能让我冷静下来,不被杂事打扰,前天看到了华为的一道面试题,今天晚上解出来了,没有测试内存和时间。通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则: 1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。 2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。要求实现函数:void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr); 输入pInputStr: 输入字符串lInputLen: 输入字符串长度 输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;注意:只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“cccddecc” 输出:“3c2de2c” 输入:“adef” 输出:“adef” 输入:“pppppppp” 输出:“8p”

##代码块代码使用c++编写,并附带运行结果截图。直接上代码不解释

#include<iostream>
#include<stdio.h>
#include<cstring>
using namespace std;

void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)
{  
    int temp=1,k=0;
char j,m;
for(int i=0;i<lInputLen-1;i++)
{
if(pInputStr[i]==pInputStr[i+1])
{
temp++;

}
else
{

if(temp>1&&temp<10)
{
pOutputStr[k++]=temp+'0';
//pOutputStr[k++]=pInputStr[i];
//temp=1;
}

if(temp>=10)
{  
pOutputStr[k++]=(temp/10)+'0';
pOutputStr[k++]=(temp%10)+'0';
//pOutputStr[k++]=pInputStr[i];
//temp=1;
}

pOutputStr[k++]=pInputStr[i];
temp=1;

}
}
pOutputStr[k++]=pInputStr[lInputLen-1];
pOutputStr[k]='\0';
};
int main()
{    
char p[7];
cin>>p;
long n=strlen(p);
char q[7];
stringZip(p,n,q);
cout<<q;;
system("pause");
return 0;
}

认真试过程序后在说结果,不要看了程序不试一下.

总结

静下心来看程序,给我很多安宁。面对面试重要的是思路,其次是编程技巧。所以看是近几年还是前几年的题库,我个人觉得都是可以的,毕竟,我学的是打鱼的技巧,在哪个地方打鱼的区别不是太大。###转载请备注链接有问题请提出指正,共同学习进步。

华为面试题:请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。相关推荐

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

    压缩规则: 1.仅压缩连续重复出现的字符.比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc". 2.压缩字段的格式为"字符重 ...

  2. 某朋友说,如果存款超过100万,则入手宝马X5,否则超过50万,则 1. 入手奥迪A6,否则超过20万,则入手比亚迪,否则超过10万则玩玩极品飞车游戏,请编写一个购车选择程序,根据输入的金额,提示可以

    某朋友说,如果存款超过100万,则入手宝马X5,否则超过50万,则 1. 入手奥迪A6,否则超过20万,则入手比亚迪,否则超过10万则玩玩极品飞车游戏,请编写一个购车选择程序,根据输入的金额,提示可以 ...

  3. 从键盘输入一字符串,以#为结束标志 将大写转为小写小写转为大写 其他不变输出转化后的字符串

    int main()//7  从键盘输入一字符串,以#为结束标志 将大写转为小写小写转为大写 其他不变输出转化后的字符串 {     char x,y;     scanf("%c" ...

  4. C语言试题四十一之请编写一个函数,用来删除字符串中的所有空格。

    1. 题目 请编写一个函数function,它的功能是:用来删除字符串中的所有空格. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程 ...

  5. C语言试题五十九之请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回。

    1. 题目 请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回. 其中fibonacci数列f(n)的定义为:f(0)=0,f(1)=1,f(n)=f(n ...

  6. 请编写一个程序,请将字符串中所有字母全部向后移一位,最后一个字母放在字符串的开头,最后将新的字符串输出。

    请编写一个程序,请将字符串中所有字母全部向后移一位,最后一个字母放在字符串的开头,最后将新的字符串输出. ran = [] result = "" old_str = input( ...

  7. 请编写一个程序,用于统计字符串中每个字母的出现次数(字母忽略大小写),统计出结果后,请按照{'a':3,'b':2}的格式输出。

    请编写一个程序,用于统计字符串中每个字母的出现次数(字母忽略大小写),统计出结果后,请按照{'a':3,'b':2}的格式输出. ras = [] mystr = input("请输入一个全 ...

  8. 4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。

    4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中"a"到"z"26个字母各自出现的次数,并依次放在pp所指数组中. ...

  9. 25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字 符串。

    25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串.若两个字符串长度相同,则返回第一个字 符串. 例如,输入:beijing ...

最新文章

  1. [JMX一步步来] 1、JMX的Hello World
  2. 集团信息化管控型模式
  3. vs2015配置opencv3.3
  4. ES6--基础语法(一)
  5. 【Java 虚拟机原理】动态字节码技术 | Dalvik ART 虚拟机 | Android 字节码打包过程
  6. Android之Android:layout_weight详解
  7. 为什么不能睁一只眼闭一只眼_自媒体人上哪里找非常多的原创短视频素材?我为什么一定要你做原创?...
  8. 动态规划系列问题—从小白到大佬的入门、进阶之旅!!!
  9. [笔记]三维激光SLAM学习——LiDAR里程计原理推导代码实现
  10. multism中ui和uo应该怎么表示_multisim12中XBP1怎么使用
  11. oracle建表空间 各种语句
  12. 开源Android自定义思维导图控件ThinkMap树状图TreeView(类似xMind那种效果)
  13. OpenCV——图像连通域
  14. 【教程】阿里云服务器挂载硬盘(其中硬盘为从快照中创建的云硬盘)
  15. 天猫、淘宝商品详情、库存、价格抓包
  16. 同时使用两片I2C同型号设备时地址怎样设置 (如何更改器件地址)
  17. 浏览器是如何渲染网页的《学如逆水行舟,不进则退》
  18. 1930年航拍中的北京,那时候的北京好多田野
  19. 三相电开水器的工作原理及接法
  20. c语言isnan,C# Double.IsNaN()用法及代码示例

热门文章

  1. 阿里python开发规范手册_阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南...
  2. 关于pyautogui在游戏窗口不工作解决办法
  3. secure boot 是什么
  4. Linux运维之LNMP架构
  5. python读取dat文件写入表格_在python中从.dat文件读取和执行计算
  6. linux docker重启nginx,记录一次docker导致宿主机重启故障解决方法
  7. 读博阶段需要注意的几个问题
  8. About 7.17 This Week
  9. 三农数据(1996-2020)四:农、畜牧业产品产量、生产性固定资产、农场数、耕地面积等
  10. 排序算法 | 快速排序算法原理及实现和优化(一)