//按字典序排列字符串
//相同字母的大小写,小写放在大写的前面
//例如:R,B,B,b,W,W,B,R,B,w
//排序后:b,B,B,B,B,R,R,w,W,W//思路,空间换时间。
//将字符串遍历,记录数量,然后按数量输出,时间复杂度为O(n)#include<iostream>
#include<cstdio>
#include<malloc.h>
#include<memory.h>
using namespace std;//实现功能的排序函数
void sortByDic(char *a,int len)
{int count[52];for(int i=0;i<52;i++){count[i]=0;}for(int i=0; i<len; i++){if(a[i]>='A'&&a[i]<='Z'){count[(a[i]-'A')*2+1]++;//大写用奇数表示}if(a[i]>='a'&&a[i]<='z'){count[(a[i]-'a')*2]++;//小写用偶数表示}}for(int i=0;i<52;i++){if(count[i]!=0){if(i%2==1){char b=(char)((i-1)/2+'A');for(int j=0; j<count[i];j++)cout<<b;}if(i%2==0){char b=(char)((i/2)+'a');for(int j=0; j<count[i];j++)cout<<b;}}}
}int main()
{char *a;int n;cout<<"输入字符数量:"<<endl;cin>>n;a = (char *)malloc(n*sizeof(char));cout<<"输入字符:"<<endl;cin>>a;cout<<"排序后:"<<endl;sortByDic(a,n);
}

空间换时间——为字符串排序相关推荐

  1. leetcode-383-Ransom Note(以空间换时间)

    题目描述: Given an arbitrary ransom note string and another string containing letters from all the magaz ...

  2. ie浏览器查看vue中js_浅析 Vue.js 中那些空间换时间的操作

    Hello,各位小伙伴,接下来的一段时间里,我会把我的课程<Vue.js 3.0 核心源码解析>中问题的答案陆续在我的公众号发布,由于课程的问题大多数都是开放性的问题,所以我的答案也不一定 ...

  3. 空间换时间--编程小绝招解决电话区号识别算法问题

    空间换时间问题通常都是一个不大的问题里的一个不小的解决方案.首先要理解代码中函数的一个大致的代价,在输入比较固定,计算输出又比较费劲的时候,常常就是空间换时间发挥作用的时候了.通过几个简单的例子您就会 ...

  4. 什么叫用空间换时间,用时间换空间

    什么叫做用空间换时间 用空间换时间是指为了提高程序或算法的效率,将计算机程序中的时间复杂度转化为空间复杂度,即通过使用更多的空间来减少程序运行所需的时间.这种技术在某些情况下可以大幅缩短程序的执行时间 ...

  5. FPGA之道(62)时空变换之空间换时间

    文章目录 前言 时空变换之空间换时间 缓存提速使用 模块复制 同频模块复制 缓存降频复制 缓存降频使用 逻辑拆分 流水线 流水线的由来 如何在组合逻辑中使用流水线 如何在时序逻辑中使用流水线 顺序系统 ...

  6. 前端遍历导致查询数据时间过长_OLAP 服务器,空间换时间可行吗?

    [摘要] 全量预汇总真的是提高 OLAP 性能的可行方案吗?点击了解OLAP 服务器,空间换时间可行吗? 多维分析提供拖拽.旋转.切片.钻取等等人机交互操作,必须有秒级的响应速度.而这些操作对应的明细 ...

  7. 空间换时间,查表法的经典例子

    前言 上一篇分享了:C语言精华知识:表驱动法编程实践 这一篇再分享一个查表法经典的例子. 我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待.本篇笔记我们先不考虑代码可读性.规范性.可移 ...

  8. [hashmap|空间换时间] leetcode 1 两数之和

    [hashmap|空间换时间] leetcode 1 两数之和 1.题目 题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下 ...

  9. 空间换时间--程序策略

    这几天修改一个去年做的程序,因为程序使用了xml保存的一些数据,整个xml文件结构欠佳,所以每次都需要对数据进行读取运算重新组合才能使用. 朋友需要这个程序多加点功能,于是顺便把这个去年做的不太好的地 ...

最新文章

  1. OC系列foundation Kit基础-NSDate
  2. 总结开发Silverlight项目准则(转)
  3. 入门无人驾驶学习路线
  4. ARP攻击网络上不去,可以进行mac地址绑定
  5. 【iOS开发每日小笔记(二)】gitHub上的开源“瀑布流”使用心得
  6. kcptun linux 客户端,网络加速暴力工具 - Kcptun 安装使用教程(服务端客户端)
  7. 腾讯网易禁止未成年人本周六玩游戏
  8. Linux 下Shell脚本中的加减乘除运算
  9. python中的然后_返回,然后等待另一个函数在python中完成
  10. WebService中运用自定义类的处理要领(转)
  11. 感觉csdn论坛不是很好用,感觉……
  12. Linux下使用Shell命令控制任务Jobs执行、Linux后台进程管理以及ctrl+z
  13. 大一新生如何h看待大学生活?
  14. java登陆界面图片_java登陆界面如何插入背景图片
  15. 输入关键字生成对联_百度“智能春联”玩出新年味 输入关键词秒出春联
  16. java意图_任务型对话(一)—— NLU/SLU(意图识别和槽值填充)
  17. 决策树-ID3与C4.5
  18. MySQL (4) 第一范式 第二范式 第三范式 BC范式
  19. Phoenix重磅 | Phoenix核心功能原理及应用场景介绍
  20. 图像处理-3 彩色空间互转

热门文章

  1. 2021固原一中高考成绩查询榜,【固原一中高考成绩实现新突破】
  2. APICloud开发之新手上路!自定义Loader编译后安装包解析出错。
  3. 1. emqx docker安装以及持久化配置
  4. GO WEB IRIS入门 安装iris
  5. 实战三十九:鲍鱼年龄预测热力图相关性分析
  6. Qimage颜色显示反色总结
  7. spring boot初始化完成时(两种方式)执行某种操作
  8. 灰流丽能无效融合么_【灰流丽】封印卡片一览
  9. Unity——延时执行的几种方法
  10. MIGO 收货批次增强