编码的哲学思想

#include<stdio.h>
#include<string.h>
int main()
{
    int i = 0, j, k, r, table[200] = {0}, table2[200] = {0};
    char st[100];
    gets(st);
    k = strlen(st);
    for(i = 0;i < k; i++){
        j = st[i];
        table[j] = table2[j] += 1;
    }
    for(i = 0;i < k; i++){
        j = st[i];
        if(table2[j]){
            for(r = 0;r < table2[j]; r++)
            printf("%c",st[i]);
            table2[j] = 0;
        }
    }
    puts("");
    for(i = 0;i < k; i++){
        j = st[i];
        if(table[j]){
            printf("%c%d",st[i],table[j]);
            table[j] = 0;
        }
    }
    return 0;
}

输入一段字符串,把相同的字符按出现顺序,归在一起,并压缩
比如:
输入 SamSameCome 
输出:
SSaammmeeCo
S2a2m3e2C1o1

输入 ComeTomeTCoe 
输出:
CCooommeeeTT
C2o3m2e3T2

编码的哲学思想

时间: 2024-08-25 18:47:41

编码的哲学思想的相关文章

Linux目录简介及哲学思想

/顶级目录自引导 /root 超级用户家目录 /sys存放系统硬件信息 /opt 第三方软件安装目录 /proc  存放进程的文件目录,是虚拟文件夹不在硬盘中存放/sbin  二进制文件目录/usr 存放二进制程序和一些系统相关的文件 /home   存放普通用户家目录/tmp 存放临时数据 /dev 存放设备文件 /mnt  临时挂载目录 /lib64   存放库文件/etc 存放一些配置文件 /bin  二进制文件目录 /boot 存放引导操作系统的文件 还有内核(kernel) /medi

LINUX初学之哲学思想和文件系统——3.4、3.5笔记

经过3.4.3.5两天学习对LINUX有初步印象. 1.程序一般包括四种文件: ①二进制文件即可执行文件:在windows中的应用程序文件如.exe和.msi在Linux中的格式是ELF格式: ②头文件/库文件:在windows中的.dll(dynamic linced library)动态链接库在Linux中so9shared object)共享库.ko(kenel object)内核库.a静态库: ③帮助文件:即使用说明书: ④配置文件 2.命令的格式 一般情况下的格式; COMMAND O

linux的哲学思想

linux的哲学思想: 1.一切皆文件(包括硬件) 2.联合多个程序进行一个复杂的任务 3.跟用户界面无关 4.以文本的形式保存配置数据 解释: 一切皆文件(包括硬件) 在linux系统中,所有的字符设备,块设备,目录等都是以文件的形式存在. 2.联合多个程序进行一个复杂的任务 可以同时同事开启多个程序看来完成一个复杂的任务 3.跟用户界面无关 这个跟windows区别很大,windows操作过程中出了问题,我们大多数是关机重启,或者是卸载重新安装,但是linux中是不需要这样做的,当打开一个图

C++构造函数的自动调用(调用一个父类的构造函数,有显性调用最好,否则就默认调用无参数的构造函数)——哲学思想:不调用怎么初始化父类的成员数据和VMT?

我总是记不住构造函数的特点,关键还是没有领会那个哲学思想:父类的构造函数一方面要初始化它自己的成员数据,另一方面也要建立它自己的VMT呀!心里默念一百遍:一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数,一定调用父类构造函数VMT,一定调用父类构造函数VMT,一定调用父类构造函数VMT,一定调用父类构造函数VMT,一定调用父类构造函数VMT,一定调用父类构造函数VMT,一定调用父类构造函数VM

【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构

从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了linux主流的发行版,说明了不同的发行版之间的区别和linux的哲学思想,列出了linux发行版的基础目录名称命名法则及功能规定: 基础命令:详细介绍一些基础的命令,并就如何在linux系统上获取命令的帮助做出了解释. 一.计算机的组成及其功能 计算机主要是由5个部分组成 控制器(Control)

linux哲学思想

linux哲学思想 1.一切皆为文件 linux将所有的对象几乎都抽象为文件,无论是硬件设备.还是通讯接口都当做文件处理,这样可以设计统一的访问控制操作(read();write();delete();等等)接口,同时也可进一步提高内核控制源码的精简程度. 2.程序的功能绝对单一性 一个程序只是完成一项功能,是程序功能更好的封装,更好地能以积木方式构建健壮.稳定.可靠的复杂功能程序. 3.避免交互性 以脚本编程的方式实现功能管控的自动化.避免交互介入,影响自动化程度. 4.配置管理文本化 用文本

Maven的功用所引发的哲学思想

我们知道Maven有三个仓库 本地仓库 ~/.m2/repository/ 每一个用户也可以拥有一个本地仓库 远程仓库 中央仓库:Maven默认的远程仓库 http://repo1.maven.org/maven2 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库 镜像:用来替代中央仓库,速度一般比中央仓库快 这些仓库里面装了些什么呢? 主要是一些打包的东西,.pom文件,和Maven插件. 然而Maven除了强大的继承和依赖 来控制jar包的管理以外,他还有生命周期:编译.清理.测试.打包

Linux哲学思想--基本法则

1.一切皆文件: 2.单一目的的小程序: 3.组合小程序完成复杂任务: 4.文本文件保存配置信息: 5.尽量避免捕获用户接口: 6.提供机制,而非策略. 自从Linux一诞生就注定了其成为经典的命运.在 这个日异强调知识产权的年代,源代码仅仅只掌握在很少一部分人,只有他们参与其研发过程,这对于商 品化一种软件产品无疑是一件好事情.但是它却限制了大 多数想一探源码究竟的爱好者求索的步伐.开放源代码 给众多爱好者带来了福音,它让我们看到了一个全球协作的力量.不论你身在何处,只要你的PC可以连接上 I

世界杯的哲学思想

作为一个伪资深球迷,世界杯的比赛我就实时看了半场,就是北京时间早上9点科特迪瓦VS日本,本田圭佑进球之后,双方互有攻防了半个小时,我就换台了,找了意大利VS英格兰的录像找一下自己熟悉的影子.虽然我没有实时看全部比赛,但是通过近期中国媒体对巴西世界杯饥渴的报道,我也从这些信息中发现了许多道理. ---------------------------------------------------------------------------------- 版权所有,文章允许转载,但必须以链接方式