383. Ransom Note(勒索信)
2017-08-06 22:48
134 查看
题目意思:给定一个任意的勒索信字符串和另一个包含所有杂志的信件的字符串,如果可以从杂志上构建赎金条,则写一个将返回true的函数;否则,它将返回false。
每封杂志串的信件只能在你的勒索信中使用一次。
思路:用勒索信字符串和杂志信件字符一一比较,如果找到了,则把杂志信件的字符值置为”“
public boolean canConstruct(String ransomNote, String magazine) { int ransomNote_length = ransomNote.length(); int equalfalg = 0; char [] magazine_arr = magazine.toCharArray(); for(int i =0 ;i< ransomNote_length;i++){ char ransomNode_item = ransomNote.charAt(i); for(int j=0;j<magazine_arr.length;j++) { //存在相等就跳出 if(ransomNode_item == magazine_arr[j]){ magazine_arr[j] =' '; equalfalg++; break; } } } return equalfalg == ransomNote_length; }
第二种方法很巧秒,实现把英文字符都存入数组中,最后判断数组的每一个位置是否存在<0即可
public static boolean canConstruct(String ransomNote, String magazine){ int[] arr = new int[26]; for (int i = 0; i < magazine.length(); i++) { arr[magazine.charAt(i) - 'a']++; } for (int i = 0; i < ransomNote.length(); i++) { if(--arr[ransomNote.charAt(i)-'a'] < 0) { return false; } } return true; }
相关文章推荐
- 电子商务站点遭勒索 F5路见不平显神功 推荐
- 两家亚洲银行网站被勒索比特币赎金
- 邮件网关如何过滤Locky勒索邮件
- 腾讯云安全-云鼎实验室:黑客是如何实现数据库勒索的
- 你的大数据安全么?“Hadoop集群遭遇勒索软件攻击 ”
- 勒索蠕虫-WanaCrypt0r(比特币病毒)防治攻略和事件全回顾
- WannaCry 勒索蠕虫攻击并发现新变种
- NSA_“永恒之蓝”_勒索蠕虫全球爆发_已波及_99_个国家_程序猿你怎么防范?
- 【克隆版】GhostXP SP3 XP系统(软件自选+添加防勒索补丁)
- 6月28日云栖精选夜读:重要通知|针对新一轮比特币勒索蠕虫病毒的安全建议
- 全球突发比特币病毒,众多官网瘫痪!你的服务器被勒索了吗?
- 黑客大面积勒索引发的备份方案思考
- 陕西大荔一名警察参与绑架勒索162万后仍撕票-绑架-撕票-民警
- 面对勒索软件,你能做的还有这些!
- 为什么比特币不是造成勒索的根本原…
- 新一年TurboGate邮件网关再次提醒小心勒索邮件
- 黑客利用Apache Struts 2漏洞在服务器上传递Cerberus勒索软件
- WannaCry勒索比特币蠕虫病毒解决方案