"Isomorphic Strings" and "Bulls and Cows"
来源:互联网 发布:数控英制螺纹编程实例 编辑:程序博客网 时间:2024/04/29 04:11
这两道题都是关于元素映射关系的,第一次看的时候头好疼,渐渐能把映射关系抽象出来就好了。
Isomorphic Strings:
建立map存储映射关系,如果不符合关系就返回false,需要翻转映射对象再检测一次,总共检测两次。
class Solution {public: bool isIsomorphic(string s, string t) { if (s.length() != t.length()) return false; map<char, char> mp; for (int i = 0; i < s.length(); ++i) { if (mp.find(s[i]) == mp.end()) mp[s[i]] = t[i]; else if (mp[s[i]] != t[i]) return false; } mp.clear(); for (int i = 0; i < s.length(); ++i) { if (mp.find(t[i]) == mp.end()) mp[t[i]] = s[i]; else if (mp[t[i]] != s[i]) return false; } return true; }};
Bulls and Cows:
这个映射关系需要检测一次出现次数,实在头疼的不行,搬了一份代码,原理是一样的。
class Solution {public: string getHint(string secret, string guess) {int bulls = 0; int cows = 0; int num[10] = { 0 }; for (int i = 0; i < guess.size(); i++) { if (secret[i] == guess[i]) { bulls = bulls + 1; } else { num[guess[i] - '0']++; } } for (int i = 0; i < secret.size(); i++) { if (secret[i] != guess[i] && num[secret[i] - '0'] > 0) { cows++; num[secret[i] - '0']--; } } char buff[20]; sprintf(buff, "%dA%dB", bulls, cows); return buff; }};
0 0
- "Isomorphic Strings" and "Bulls and Cows"
- [LeetCode]Bulls and Cows
- [LeetCode] Bulls and Cows
- LeetCode Bulls and Cows
- [leetcode299]Bulls and Cows
- Bulls and Cows
- leetcode | Bulls and Cows
- Bulls and Cows
- LeetCode:Bulls and Cows
- LeetCode -- Bulls and Cows
- leetcode: Bulls and Cows
- [leetcode]Bulls and Cows
- Bulls and Cows
- Bulls and Cows
- 299. Bulls and Cows
- Bulls and Cows-LeetCode
- Leetcode191: Bulls and Cows
- [Leetcode]Bulls and Cows
- eclipse maven 导出项目依赖的jar包
- 权限访问修饰符public,protected,private
- Java进阶学习第二十二天——上传与下载
- 装修公司网站源码模板电脑、手机端、微信三合一Asp.net
- 开发工具整理
- "Isomorphic Strings" and "Bulls and Cows"
- iOS的各种学习资源总结
- android app版本更新升级
- ThreadPoolExecutor 分析
- CSS text-align 属性
- Android项目关联Library
- javascript截取字符串
- 百度计算广告学沙龙学习笔记 - 内容匹配广告
- UbuntuKylin各种分区功能介绍