一天一道算法题--5.28--字符串的映射
2014-05-28 19:12
357 查看
感谢 微信平台: 一天一道算法题 ---------------- 每天多一点进步---------------
这题 根据题意 网上终于找到个 相似的题目
戳我
原题 给的实在太长了 我给你简短翻译一下:
给定两个长度均为N的字符串( N<=100) 判断它们之间的26个字母能否一一对应 如abb和cdd可以相互对应 方法是a->c b->d
要是相同 输出YES 否则 输出NO
//先去次饭了 回来再写下去。。。。
go on。。。
讲下这题的思路:
既然是字母一一对应的 那么如果是YES的情况下 那么相对应的字母的个数必然是相等的 想到这里 这题就不难了 就是怎么将字符串中每个字母出现的次数保存下来
这边 注意的是 不能忘记了排序 你可能A中 保存了3个a 2个b B中保持了2个c 3个d 要是不进行排序 可能导致2和3 进行比较 就得出了错误的结论
这边它提供了 用 map的做法 看上去 的确 高大上 而且很舒服
View Code
最近 要作web 又要应付 高数 ....
有个妹子 陪伴就好了
new 一个出来?
可以不 delete 吗..................
这题 根据题意 网上终于找到个 相似的题目
戳我
原题 给的实在太长了 我给你简短翻译一下:
给定两个长度均为N的字符串( N<=100) 判断它们之间的26个字母能否一一对应 如abb和cdd可以相互对应 方法是a->c b->d
要是相同 输出YES 否则 输出NO
//先去次饭了 回来再写下去。。。。
go on。。。
讲下这题的思路:
既然是字母一一对应的 那么如果是YES的情况下 那么相对应的字母的个数必然是相等的 想到这里 这题就不难了 就是怎么将字符串中每个字母出现的次数保存下来
这边 注意的是 不能忘记了排序 你可能A中 保存了3个a 2个b B中保持了2个c 3个d 要是不进行排序 可能导致2和3 进行比较 就得出了错误的结论
这边它提供了 用 map的做法 看上去 的确 高大上 而且很舒服
#include <iostream> #include <cstring> #include <algorithm> using namespace std; char strA[110] , strB[110]; int cntA[110] , cntB[110]; int main() { int i; bool flag; while( ~scanf("%s %s",strA,strB) ) { flag = true; memset( cntA , 0 , sizeof(cntA) ); memset( cntB , 0 , sizeof(cntB) ); for( i = 0 ; strA[i]!='\0' ; i++ ) { cntA[ 'Z'-strA[i] ]++; cntB[ 'Z'-strB[i] ]++; } sort( cntA , cntA+26 ); sort( cntB , cntB+26 ); for( i=0 ; i<=25 ; i++ ) { if( cntA[i]!=cntB[i] ) { flag = false; break; } } printf( "%s\n",flag?"YES":"NO" ); } return 0; }
View Code
最近 要作web 又要应付 高数 ....
有个妹子 陪伴就好了
new 一个出来?
可以不 delete 吗..................
相关文章推荐
- 每天一道算法题9 字符串的排列
- 每天一道算法题17 左旋转字符串
- 一天一道算法题--5.30---递归
- 一天一道算法题---6.8--数学题
- 一天一道算法题---6.6---排列递推(我不会)
- 关于一道面试题,使用C#实现字符串反转算法
- 一天一道算法题--6.5--数学题
- 一天一道算法题---6.11---大数阶乘
- 一天一道算法题--5.27--思维题
- 一天一道算法题--6.7--stack
- 一道面试题:从一个字符串中找出第一个不重复字符;算法一;
- 数字字符串一道有道实习生笔试算法题分析
- 一道算法题---把字符串内连续相同字符删除
- 一天一道算法题--5.29---动态规划之数塔
- 算法——一天一道算法题篇——找只出现一次的两个数
- 每天一道算法题12 在字符串中删除特定的字符
- 一道算法题目 java中的数字字符串和数组的算法
- 关于一道面试题,使用C#实现字符串反转算法
- 一天一道算法题---6.4--中途相遇法
- 一天一道算法题--6.10--变量交换