经典算法题之手机键盘
1.经典算法-梯形输出2.经典问题-打印日期万金油版本3.经典算法问题之打印日期4.经典算法之天数问题5.经典算法之图形问题6.经典算法之英文日期问题7.经典算法之-英文日期C++版8.经典算法之剩下的树C9.经典算法题-剩下的树C++
10.经典算法题之手机键盘
11.经典算法题之手机键盘C12.经典算法题之排序C++13.经典算法题之排序C14.经典算法题之整奇偶排序C++15.经典算法之-整数奇偶排序C16.经典算法题之-成绩排序C++17.经典算法题之成绩排序C18.KY2 成绩排序C++19.KY2 成绩排序C20.KY158 找xC++21.KY158 找xC22.KY199 查找C++23.KY199 查找C24.KY20 完数与盈数C++25.KY20 完数VS盈数C26.3254:约瑟夫问题No.2C++27.3254:约瑟夫问题No.2C28.猫狗收容所 C++29.KY109 Zero-complexity TranspositionC++30.KY109 Zero-complexity Transposition C31.20. 有效的括号C++32.20. 有效的括号C33.1978:扩号匹配问题34.1978:扩号匹配问题C35.KY129 简单计算器C++36.KY17 n的阶乘C++37.4147:汉诺塔问题(Tower of Hanoi)C++38.KY96 FibonacciC++39.KY85 二叉树C++40.KY212 二叉树遍历C++41.KY11 二叉树遍历C++42.KY207 二叉排序树C++43.KY124 二叉搜索树C++44.KY196 复数集合C++45.KY196 复数集合C46.KY188 哈夫曼树C++47.KY27 查找学生信息C++48.KY27 查找学生信息C49.KY146 魔咒词典C++50.KY146 魔咒词典C51.Catch That CowC++52.Find The MultipleC++53.A Knight's JourneyC++54.KY175 连通图C55.KY148 还是畅通工程C++56.畅通工程续C57.KY225 N阶楼梯上楼问题C++58.KY22 最大序列和C59.KY78 最大上升子序列和C++60.DP19 最长公共子序列(一)C61.1. 两数之和C62.49. 字母异位词分组c++63.128. 最长连续序列C64.4.3 提升题 - A One Way In, Two Ways OutC++65.283. 移动零C66.11. 盛最多水的容器C++67.15. 三数之和C++68.42. 接雨水C69.3. 无重复字符的最长子串C++70.438. 找到字符串中所有字母异位词C71.704. 二分查找C72.27. 移除元素C73.35. 搜索插入位置C74.34. 在排序数组中查找元素的第一个和最后一个位置C75.69. x 的平方根 C76.367. 有效的完全平方数C77.26. 删除有序数组中的重复项C78.844. 比较含退格的字符串C79.977. 有序数组的平方80.209. 长度最小的子数组C81.904. 水果成篮C82.76. 最小覆盖子串C83.59. 螺旋矩阵 IIC84.203. 移除链表元素C85.206. 反转链表C86.24. 两两交换链表中的节点C87.19. 删除链表的倒数第 N 个结点C88.面试题 02.07. 链表相交C89.142. 环形链表 II C90.242. 有效的字母异位词 C91.383. 赎金信C92.349. 两个数组的交集C93.350. 两个数组的交集 II C94.202. 快乐数 C95.454. 四数相加 II C96.344. 反转字符串C97.541. 反转字符串 II C98.54. 替换数字 C99.151. 反转字符串中的单词 c这题出的只能说是无语。思路还是很简单的。
只要用一个的tag标记上次是哪个按键即可,然后tag和现在对比,要是相同就多加2。
#include<iostream> #include <map> using namespace std; int main(){ map<char,int>Map={ {'a',10},{'b',20},{'c',30}, {'d',11},{'e',21},{'f',31}, {'g',12},{'h',22},{'i',32}, {'j',13},{'k',23},{'l',33}, {'m',14},{'n',24},{'o',34}, {'p',15},{'q',25},{'r',35},{'s',45}, {'t',16},{'u',26},{'v',36}, {'w',17},{'x',27},{'y',37},{'z',47} }; char c[101]={'\0'}; while( cin >> c ) { int tag = -1 ; int i = 0 ; int sum = 0 ; while( c[i] != '\0' ) { int x = Map[ c[i] ] / 10; int y = Map[ c[i] ] % 10; sum += x; if (tag == y) { sum += 2; } tag=y; i++; } cout << sum <<'\n' ; } return 0; }
结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理