面试题 01.06. 字符串压缩

2023-11-10

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

示例1:

 输入:"aabcccccaaa"
 输出:"a2b1c5a3"
示例2:

 输入:"abbccd"
 输出:"abbccd"
 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。
char* compressString(char* S){
    int len = strlen(S);
    if(len<1)return S;
    int i, j;
    char* C = (char*)malloc(sizeof(char)*(2*len+1));
    memset(C, 0, sizeof(char)*(2*len+1));

    for(i=0, j=0; i<len; i++){
        if(S[i] != S[j]){
            sprintf(C, "%s%c%d",C,S[j],i-j);
            j = i;
        }
    }
    sprintf(C, "%s%c%d",C,S[j],i-j);

    if(strlen(C) < len){
        return C;
    }else{
        return S;
    }
}

原创我不配了,呜呜~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

面试题 01.06. 字符串压缩 的相关文章

随机推荐

  • linux部署web服务器-Nginx

    linux部署web服务器 Nginx 前言 有很多小伙伴想要建立一个自己的web站点 今天就给大家演示一下 准备工作 1 Nginx安装包 2 Linux服务器 3 PCRE安装包 4 手 方式一 手动编译安装 1 安装编译库 yum y
  • jpa利用Specification实现多条件查询排序

    Entity实体类 import java time Instant import javax persistence Column import javax persistence Entity import javax persiste
  • js大纲(流程控制语句对象,函数,数组等)

    一 运算符 1 逻辑运算符 非运算 与运算 像爱情 或运算 像亲情 2 赋值运算符 3 关系运算符 gt gt lt lt 非数值比较时先转换为数字再比较 比较字符串中字符的Unicode编码 4 相等运算符 5 条件运算符也叫三元运算符
  • 操作系统知识点总结(四)进程同步和临界区互斥问题

    一 进程同步的基本概念 临界资源 同步和互斥 在多道程序环境下 进程是并发执行的 不同进程之间存在着不同的相互制约关系 为了协调进程之间的相互制约关系 引入了进程同步的概念 临界资源 虽然多个进程可以共享系统中的各种资源 但其中许多资源一次
  • FPGA学习记录:第28章 VGA显示器驱动设计与验证

    硬件平台 Cyclone IV E EP4CE10F17C8 开发平台 Quartus II 64 Bit Version 13 0 1 Build 232 06 12 2013 SP 1 SJ Full Version 开发板 野火征途p
  • Android——使用ListView显示信息列表

    1 理解ListView的基础使用 1 作用 Android系统中显示列表的控件 2 两种适配器 ArrayAdapter SimpleAdapter 1 数据适配器 作用 把复杂的数据 数组 链表 数据库 集合等 填充在指定视图界面上 是
  • xp系统一直跳出宽带连接服务器,电脑开机后会自动弹出自动宽带连接提示窗口 怎么关闭?...

    自从电脑接宽带后 我们经常会用到宽带连接 甚至为了方便操作 我们直接让电脑开机就自动宽带连接了 而当我们接上路由后 我们会发现电脑再也不用宽带连接了 而这时电脑由于之前被我们设置为开机自动宽带连接 而导致经常会弹出提示窗口 那我们该如何去关
  • Linux--进程间通信、IPC、管道

    目录 1 进程间通信的方法 2 IPC机制 1 有命管道 1 简介 5 管道的特点 6 循环写读 2 无名管道 1 简介 2 代码 4 总体特点 5 管道实现图 1 进程间通信的方法 1 管道 2 信号量 3 共享内存 4 消息队列 5 套
  • java - jdwp远程调试线协议的使用

    前言 线上服务器出现的bug 因为各种复杂环境的原因 经常会很难在本地调试 只能到处打log 然后去服务器查看log日志 以定位问题产生原因 是否一工具能像idea中本地debug一样能直接断点调试呢 介绍 JDWP Java Debug
  • 华为上机考试注意事项及编程技巧(精品)

    这是一篇关于华为招聘软件类职位上机考试的博客 主要介绍一下华为机考的流程 注意事项以及一些机试题中常用的编程技巧 写得有点长 但都是尽心尽力敲的 如果真的要参加华为招聘 或者类似公司的招聘 建议稍微花点时间看完 话不多说 直接进入正题 一
  • 我对维度建模和范式建模的一点理解

    谈维度建模和范式建模之前 先了解下模型设计的三个阶段吧 概念模型 将业务划分成几个主题 逻辑模型 定义各种实体 属性 关系 物理模型 设计数据对象的物理实现 比如表的命名规范 字段的命名规范 字段类型等 一 范式建模 我先来介绍一下范式 范
  • 思维的特点和缺陷

    人类总是喜欢歌颂自己的大脑 比如 思想的威力 逻辑的威力 数学的威力 数学来自于思考 科学的威力 科学来源于思考 还有 意识 这个 人类与动物最大的区别 i blah blah 不过 几乎没有人关心过这种想法究竟来自于人体的哪个器官 心理学
  • 海思3559 安装

    设置地址 开机后任意键 进入 u boot 界面显示 hisilicon 以下内容转自 海思开发记录 一 3559A开发环境搭建 whitefish520的博客 CSDN博客 海思3559a 说明 这次安装的是Ubuntu14 04 64位
  • java8 lambda 获取list对象中重复数据

    工作上的场景 简单记录一下 在这里直接借用业务上的list 不再new 了 List
  • 前台模糊查询中用“\%”替换字符串中的“%”

    最近在做电商项目 前端开发好后就丢给我们 用的时候发现一个缺陷 前台模糊查询的时候 输入一个 或者包含 的词 查询的时候不准确 解决过程中第一个问题 前端用了Js的 decodeURL 转码 将前台输入的 转码了 无法传到后台 参考 htt
  • Java前端知识HTML

    Java前端知识 首先我们用的是HBuilderX软件 当然 前端知识有很多 如果有遗忘或者需要查询的可以去菜鸟驿站查询 比较全 html的文档结构主要是有三部分组成的 1 标记用于html文件的最前面 用来表示html文件的开始 而的标记
  • QSignalMapper信号映射器的使用

    目录 QSignalMapper介绍 Signal 信号 slots 根据标识获取对象 给对象设置标识 删除映射 实例 代码 需求升级 总结 相关文章 QSignalMapper介绍 该类收集一组无参数的信号 并使用与发送信号的对象对应的整
  • 不限时长,免费制作

    在这个信息爆炸的时代 短视频已经崭露头角 成为人们获取信息 娱乐和学习的首选渠道 事实上 大部分互联网用户每天都沉浸在短视频的世界中 这无疑证明了短视频营销的巨大潜力和不可替代的地位 2023年的数据进一步印证了这一点 中国短视频用户规模已
  • 页面禁止长按保存图片和长按复制文字

    1 禁止长按保存图片 img pointer events none 禁止none 启用auto Tips pointer events属性详解 官方文档 https www html cn book css properties user
  • 面试题 01.06. 字符串压缩

    字符串压缩 利用字符重复出现的次数 编写一种方法 实现基本的字符串压缩功能 比如 字符串aabcccccaaa会变为a2b1c5a3 若 压缩 后的字符串没有变短 则返回原先的字符串 你可以假设字符串中只包含大小写英文字母 a至z 示例1