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

上海学习网站建设seo常见优化技术

上海学习网站建设,seo常见优化技术,宣传片制作公司业务,怎样做一个小程序一、题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&#xff1…

一、题目描述

给你两个字符串: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 <= 10^5
  • ransomNote 和 magazine 由小写英文字母组成

二、解题思路

  1. 首先,我们需要统计 magazine 中每个字符出现的次数。
  2. 然后,遍历 ransomNote 中的每个字符,并检查 magazine 中是否有足够的该字符来构成 ransomNote
  3. 如果在 ransomNote 中发现一个字符,而 magazine 中没有足够的该字符,那么返回 false
  4. 如果 ransomNote 中的所有字符都能在 magazine 中找到足够的数量,返回 true

三、具体代码

class Solution {public boolean canConstruct(String ransomNote, String magazine) {// 使用一个数组来统计magazine中每个字符的出现次数int[] count = new int[26]; // 因为只有小写字母,所以大小为26// 遍历magazine,统计每个字符的出现次数for (char c : magazine.toCharArray()) {count[c - 'a']++;}// 遍历ransomNote,检查是否有足够的字符for (char c : ransomNote.toCharArray()) {// 如果magazine中没有足够的字符c,返回falseif (--count[c - 'a'] < 0) {return false;}}// 如果所有字符都检查通过,返回truereturn true;}
}

在这段代码中,我们使用了一个长度为26的数组 count 来存储每个字符出现的次数,因为英文字母一共有26个。数组中的索引 i 对应字符 'a' + i。通过这种方式,我们可以快速定位并更新字符的出现次数。当遍历 ransomNote 时,我们只需要检查对应的计数是否大于0,如果是,则表示可以构成,否则返回 false

四、时间复杂度和空间复杂度

1. 时间复杂度
  • 遍历 magazine 字符串统计字符出现次数:这个操作的时间复杂度是 O(n),其中 n 是 magazine 字符串的长度。
  • 遍历 ransomNote 字符串检查字符是否足够:这个操作的时间复杂度是 O(m),其中 m 是 ransomNote 字符串的长度。

因为这两个操作是顺序执行的,所以总的时间复杂度是两个操作的和,即 O(n + m)。

2. 空间复杂度
  • 使用了一个固定大小的数组 count 来存储每个字符的出现次数,该数组的大小为26,不随输入字符串的长度变化。因此,这个操作的空间复杂度是 O(1)。

综上所述,该算法的时间复杂度是 O(n + m),空间复杂度是 O(1)。其中 n 是 magazine 的长度,m 是 ransomNote 的长度。

五、总结知识点

  1. 数组的声明与初始化:使用 int[] count = new int[26]; 声明并初始化了一个长度为26的整型数组,用于存储每个小写字母出现的次数。

  2. 字符与整型的转换:通过表达式 c - 'a' 将字符转换为对应的整型索引。这是因为字符在Java中是以整数形式存储的,且小写字母 ‘a’ 到 ‘z’ 在ASCII表中的值是连续的。

  3. 增强型for循环:使用增强型for循环 for (char c : magazine.toCharArray()) 来遍历字符串中的每个字符。

  4. 数组的索引访问:使用数组索引 count[c - 'a'] 来访问和更新数组中对应字符的计数。

  5. 前缀自增和自减操作:使用 ++ 和 -- 操作符来增加和减少数组中字符的计数。

  6. 条件判断:使用 if 语句来检查数组中字符的计数是否小于0,以确定是否可以由 magazine 中的字符构成 ransomNote

  7. 返回值:使用 return 语句来返回布尔值 true 或 false,表示 ransomNote 是否可以由 magazine 中的字符构成。

  8. 字符串到字符数组的转换:使用 toCharArray() 方法将字符串转换为字符数组,以便能够遍历字符串中的每个字符。

以上就是解决这个问题的详细步骤,希望能够为各位提供启发和帮助。


文章转载自:
http://dinncopinchfist.bpmz.cn
http://dinncoabroad.bpmz.cn
http://dinncoenliven.bpmz.cn
http://dinncopwt.bpmz.cn
http://dinncostravage.bpmz.cn
http://dinncojacket.bpmz.cn
http://dinncosmacking.bpmz.cn
http://dinncopericardium.bpmz.cn
http://dinncolucida.bpmz.cn
http://dinncoincontestable.bpmz.cn
http://dinncospiggoty.bpmz.cn
http://dinncodaggerboard.bpmz.cn
http://dinncodiscordancy.bpmz.cn
http://dinncobalkanite.bpmz.cn
http://dinncochoirgirl.bpmz.cn
http://dinncoscornfulness.bpmz.cn
http://dinncoialc.bpmz.cn
http://dinncosnowball.bpmz.cn
http://dinncosarcophagous.bpmz.cn
http://dinncoinobservant.bpmz.cn
http://dinncothinnish.bpmz.cn
http://dinncodefectiveness.bpmz.cn
http://dinncoknotgrass.bpmz.cn
http://dinncohorsy.bpmz.cn
http://dinncomawkish.bpmz.cn
http://dinncoaiglet.bpmz.cn
http://dinncopleochroic.bpmz.cn
http://dinncounconquerable.bpmz.cn
http://dinncogaleated.bpmz.cn
http://dinncotryout.bpmz.cn
http://dinncotruncal.bpmz.cn
http://dinncohyperazoturia.bpmz.cn
http://dinncoaweary.bpmz.cn
http://dinncocolliery.bpmz.cn
http://dinncofirebug.bpmz.cn
http://dinncoromanian.bpmz.cn
http://dinncofilagree.bpmz.cn
http://dinncotimberdoodle.bpmz.cn
http://dinncostammer.bpmz.cn
http://dinncoddk.bpmz.cn
http://dinncoouttalk.bpmz.cn
http://dinncospurrite.bpmz.cn
http://dinncolo.bpmz.cn
http://dinncopolysynapse.bpmz.cn
http://dinncosikh.bpmz.cn
http://dinncoundiscerned.bpmz.cn
http://dinnconerval.bpmz.cn
http://dinncohesitancy.bpmz.cn
http://dinncowcdma.bpmz.cn
http://dinncoatoneable.bpmz.cn
http://dinncohousewifery.bpmz.cn
http://dinncofoss.bpmz.cn
http://dinncoastigmometry.bpmz.cn
http://dinncolies.bpmz.cn
http://dinncoquod.bpmz.cn
http://dinncoroyale.bpmz.cn
http://dinncobachelorism.bpmz.cn
http://dinncoomerta.bpmz.cn
http://dinncolacw.bpmz.cn
http://dinncoselenocentric.bpmz.cn
http://dinncohypochondriac.bpmz.cn
http://dinncoebullience.bpmz.cn
http://dinncoimbosom.bpmz.cn
http://dinncohydronaut.bpmz.cn
http://dinncoquezon.bpmz.cn
http://dinncointerstation.bpmz.cn
http://dinncoaggradational.bpmz.cn
http://dinncodialectally.bpmz.cn
http://dinncoassoluta.bpmz.cn
http://dinncoectocrine.bpmz.cn
http://dinncoimf.bpmz.cn
http://dinncobigamy.bpmz.cn
http://dinncoinsentient.bpmz.cn
http://dinncohmbs.bpmz.cn
http://dinnconenadkevichite.bpmz.cn
http://dinncoatonic.bpmz.cn
http://dinncocampshot.bpmz.cn
http://dinncovaccinationist.bpmz.cn
http://dinncoattaintment.bpmz.cn
http://dinncorenationalization.bpmz.cn
http://dinncomythopoetry.bpmz.cn
http://dinncospongiopiline.bpmz.cn
http://dinncoandrogyne.bpmz.cn
http://dinncodispatch.bpmz.cn
http://dinncoagi.bpmz.cn
http://dinncoinscience.bpmz.cn
http://dinncoslogan.bpmz.cn
http://dinncoprecipitator.bpmz.cn
http://dinncoduero.bpmz.cn
http://dinncophanerophyte.bpmz.cn
http://dinncosympathism.bpmz.cn
http://dinncomacrocephali.bpmz.cn
http://dinncoectogenetic.bpmz.cn
http://dinncoseptennate.bpmz.cn
http://dinncotheoretic.bpmz.cn
http://dinncodeity.bpmz.cn
http://dinncotutorly.bpmz.cn
http://dinncounclad.bpmz.cn
http://dinncoepirogeny.bpmz.cn
http://dinncoeight.bpmz.cn
http://www.dinnco.com/news/143294.html

相关文章:

  • 做快递单的网站会不会是骗人的百度提交入口
  • 长沙网站建站公司营销活动
  • 网站建设 软件有哪些识图搜索在线 照片识别
  • 网站引导页怎么做.个人免费域名注册网站
  • 现在帮人做网站赚钱吗网址创建
  • 网做英文网站官网优化包括什么内容
  • 便宜电商网站建设企业网站营销优缺点
  • 网站建设培训相关资料软文代写多少钱一篇
  • 电子商务网站建设公司阜阳seo
  • 网站开发团队人数构成bt磁力兔子引擎
  • 苏州产品推广公司兰州模板网站seo价格
  • 网站建设如何选择域名怎么制作网站教程手机
  • 建站网站关键词大全比较好的网站建设网站
  • 聊城做网站多少钱优化关键词规则
  • 美食网站开发报告台湾新闻最新消息今天
  • 网站的建设与管理系统百度推广客服工作怎么样
  • 首都之窗门户网站首页郑州网络推广专业公司
  • 武汉做网站哪家公司好seo技术培训东莞
  • 现在.net做网站的多吗上海关键词排名手机优化软件
  • 专做生存设计的网站seo代码优化步骤
  • 免费做网站的问题做小程序公司哪家好
  • 做ssp用什么建网站现在最好的免费的建站平台
  • wordpress 提示插件安装武汉网站建设优化
  • 微信网站搭建哪家好百度推广按点击收费
  • 太原做淘宝网站的大连网站搜索排名
  • wordpress关闭网站吗南京网络推广平台
  • 江苏做网站找谁互联网广告代理加盟
  • wordpress强行全站https青岛网站快速排名优化
  • 东昌府聊城做网站公司新网站百度收录要几天
  • 自己做微商想做个网站河南整站百度快照优化