当前位置: 首页 > news >正文

做摄影和后期的兼职网站ae射频电源成色

做摄影和后期的兼职网站,ae射频电源成色,云空间搭建网站,wordpress 域名分离题目: 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&#…

题目:

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1:

输入:ransomNote = "a", magazine = "b"
输出:false

示例 2:

输入:ransomNote = "aa", magazine = "ab"
输出:false

示例 3:

输入:ransomNote = "aa", magazine = "aab"
输出:true

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote 和 magazine 由小写英文字母组成

分析:

本题就是给定两个字符串ransomNote和magazine需要使magazine的总字符数量及类别包含ransomNote

也就是图片所示

magazine中的每个字符只能对应ransomNote中的一个字符,看到这道题我首先想到使用map来存储magazine每个字符出现的个数字符作为key值接着使用ransomNote遍历每个字符在map中查找并进行value的自减操作如果map中有元素的值小于0的话那就代表ransomNote不能由magazine组成故返回false否则遍历完毕后返回true但使用map虽然能将题目解出来但map涉及数组、链表以及红黑树的转换比较耗时和占用空间所以本题的优质解法可采用数组来解决;

map解法:

class Solution {public boolean canConstruct(String ransomNote, String magazine) {Map<Character, Integer> map = new HashMap();for (int i = 0; i < magazine.length(); i++) {map.put(magazine.charAt(i), map.getOrDefault(magazine.charAt(i), 0) + 1);}for (int i = 0; i < ransomNote.length(); i++) {map.put(ransomNote.charAt(i), map.getOrDefault(ransomNote.charAt(i), 0) - 1);if (map.get(ransomNote.charAt(i)) == null || map.get(ransomNote.charAt(i)) < 0)return false;}return true;}
}

数组解法:

附加:先判断ransomNote 长度是否大于magazine 如果大于则直接返回false

1、创建一个长度为26的数组(因为英文字母26个)

2、遍历magazine 字符串将其字符减去‘a’的ASCLL码获得数值0~26的索引下标对应各个字母并相应进行自增操作

3、遍历ransomNote 字符串同样执行步骤2的操作但相应进行自减操作

4、判断如果数组元素小于0则直接返回false否则返回true

class Solution {public boolean canConstruct(String ransomNote, String magazine) {int[] record=new int[26];if(ransomNote.length()>magazine.length())return false;for(int i=0;i<magazine.length();i++){int num=magazine.charAt(i)-'a';record[num]++;}for(int i=0;i<ransomNote.length();i++){int num=ransomNote.charAt(i)-'a';record[num]--;if(record[num]<0)return false;}return true;}
}

http://www.yayakq.cn/news/249983/

相关文章:

  • 小型企业网站模板下载在线旅游网站平台有哪些
  • 二级建造师网官网网站seo站群软件
  • 网站挂广告领券购买网站是怎么做的
  • 雄安邯郸网站制作多少钱湖南省房管局官网
  • 响应页手机网站源码asp.net做的小网站
  • 点点 网站建设零食类营销网站怎么做
  • 网站建设是怎样的做外贸有哪些免费的网站有哪些
  • wordpress做微信登录页义乌网站建设优化排名
  • 输入网站域名网站开发开发语言
  • 网站备案接入商变更移动开发平台
  • 农业电商网站建设方案建立生育支持政策体系
  • 网站入口类型wordpress怎么删除预建网站
  • c 网站开发案例大全投票网站怎么做的
  • 河北建设厅网站三类人旅游的便宜的网站建设
  • 电商网站开发平台有哪些外贸网站建设报价表
  • 孝感企业做网站wordpress 手机登陆
  • 重庆网站建设找重庆最佳科技长沙零零七网站建设
  • 宁波网站关键词排名提升德阳小程序开发
  • 承德网站建设报价小程序电商商城
  • 深圳招聘网站前十排名建筑设计和室内设计哪个好
  • 怎么做切片网站在什么网站可以接活做
  • 网站关闭与域名备案宜昌微网站建设
  • 卖机票的网站怎么做自助搭建网站
  • 山东省建设科技协会网站wap站是什么意思啊
  • 做网站的费用 可以抵扣吗wordpress主题 yusi
  • 获取网站状态安徽省博物馆网站建设
  • 网站程序 seoseo诊断表
  • 湖南营销型网站建设报价wordpress 开玩笑 呵
  • 贵阳网站开发哪家专业在线子域名二级域名查询工具
  • 做网站有什么好处东莞市建设信息网官网