题目描述:

假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任意一个编码,输出这个编码对应的Index.

输入:

输入一个待编码的字符串,字符串长度小于等于100.

输出:

输出这个编码的index

例子:

baca

正确输出:

16331

代码:(规律在代码注释)

#include <iostream>
using namespace std;
int main(){string str;cin >> str;//a和b相差 25 * 25 * 25 + 25 * 25 + 25 + 1//aaaa和aaba相差 25 + 1个(比如aaax 25种情况外加aab)//aaaa和abaa相差 25 * 25 + 25 + 1个(比如aaxx 25 * 25种情况加 aax 25种情况外加ab)//aaa和aab相差 和 aaaa和aaba一致int result = str.length()-1;int sum[4];sum[0] = 25 * 25 * 25 + 25 * 25 + 25 + 1;sum[1] = 25 * 25 + 25 + 1;sum[2] = 25 + 1;sum[3] = 1;for(int i = 0; i < str.length(); i++){//如果是四位数,str.length()-1代表aaaaresult += (str[i] - 'a') * sum[i];}cout << result;
}

算法题:1到4位编码推下标相关推荐

  1. KMP算法求解next数组值(模式串从下标0开始或从下标1开始)以及求值后与主串的匹配过程

    写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...

  2. 猴子吃桃的逆推c语言算法,经典算法题每日演练 猴子吃桃

    猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个.第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个.以后每天都吃前一天剩下的一半再加一个.到第10天刚好剩一个.问猴子第一天摘了多 ...

  3. 字节跳动面试官:你离50w年薪就差答对了这个算法题!

    我有个朋友,最近去头条面试,因为算法题没写出来,直接面挂了,搞得他非常郁闷. 众所周知,算法对程序员来说越来越重要了,但是总有人抱有一丝侥幸,不肯投入精力去学习,想着现在的工作中反正也用不到,等找工作 ...

  4. 字节跳动面试前端岗,刷算法题有救吗?

    在面试中,算法题目是必须的,通过算法能够看出一个程序员的编程思维,考察对复杂问题的设计与分析能力,对问题的严谨性都能够体现出来. 去年,有位学长参加秋招的时候,拿到了字节跳动.快手.阿里.美团--等等 ...

  5. 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」必问之 链表 + 栈 + 队列 部分!

    链表 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力.链表的操作也离不开指针,指针又很容易导致出错. 综合多方面的原因,链 ...

  6. 100道经典算法题(76-100)

    76.复杂链表的复制 题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外, 还有一个m_pSibling指向链表中的任一结点或者NULL.其结点的C++定义如下:  struct ...

  7. 经典算法题(含答案解析)

    时针分针重合几次 表面上有60个小格,每小格代表一分钟, 时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以 60/(1-1/12)=720/11 ...

  8. 经典算法题每日演练——第十题 树状数组

    原文:经典算法题每日演练--第十题 树状数组 有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的. 一:概序 假如我现在有个 ...

  9. java实现对英文字母去重_LeetCode算法题-Unique Morse Code Words(Java实现)

    这是悦乐书的第318次更新,第339篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第186题(顺位题号是804).国际莫尔斯电码定义了一种标准编码,其中每个字母映射到一系 ...

最新文章

  1. [Cake] 1. CI中的Cake
  2. 智源杯天文数据算法挑战赛开赛,前沿AI技术助力天文科学研究
  3. Linux for sougou ping yin (http://pinyin.sogou.com/linux/help.php)
  4. Spring Data JPA 从入门到精通~JpaRepository介绍
  5. 从FairMOT到VoxelPose,揭秘微软以“人”为中心的最新视觉理解成果
  6. 【STM32】初识STM32(型号+封装+内核+储存器+时钟、复位和电源管理+工作模式+ADC)
  7. cdh maven仓库地址
  8. Convert.ToInt32()与int.Parse()的区别
  9. 摄像头YUV2格式详解
  10. 智能家居APP设计规格
  11. 使用mysql创建表格
  12. 单页面网站的优化方法大全
  13. 服务器上线运行正常但不能上网,网线是好的,插笔记本正常上网,插在服务器上却不能上网的解决方法...
  14. NUAA无线传感器网络 复习重点整理
  15. 家里宽带网络连接第二台路由器实验一
  16. 王道操作系统网课笔记合集
  17. activemq在阿里云部署启动: java.net.UnknownHostException 异常处理
  18. 每年都有几个研究生,被“爸爸”逼得跳楼
  19. 基于STM32的电机--直流有刷电机H桥驱动的不同模式分析
  20. 手机上如何将图片转换成PDF文档

热门文章

  1. Clion 调教记录
  2. windows批处理学习
  3. Android签名 - APK签名系统SignApk.jar
  4. python 保存数据单文件_python3.6 单文件爬虫 断点续存 普通版 文件续存方式
  5. rabbitMq设置多线程并设置线程池消费处理
  6. ps图层混合模式的含义
  7. 字符串的子串计算方法
  8. R语言XLSX数据导入
  9. 微信小程序RSA非对称加密。
  10. 浅谈大数据专业的就业前景