【LeetCode】3月17日打卡-Day2

题1 拼写单词

描述

给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。
假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。
注意:每次拼写时,chars 中的每个字母都只能用一次。
返回词汇表 words 中你掌握的所有单词的 长度之和。
示例 1:
输入:words = [“cat”,“bt”,“hat”,“tree”], chars = “atach”
输出:6
解释:
可以形成字符串 “cat” 和 “hat”,所以答案是 3 + 3 = 6。
示例 2:
输入:words = [“hello”,“world”,“leetcode”], chars = “welldonehoneyr”
输出:10
解释:
可以形成字符串 “hello” 和 “world”,所以答案是 5 + 5 = 10。
提示:
1 <= words.length <= 1000
1 <= words[i].length, chars.length <= 100
所有字符串中都仅包含小写英文字母

实现

class Solution {public int countCharacters(String[] words, String chars) {int len = 0; //记录字符个数int[] cs = new int[26];//用int数组记录字符数 记录charsfor(char c : chars.toCharArray()){cs[c-'a']++; //以字母顺序作为索引}for(String word: words){boolean flag = true;if(chars.length() < word.length()){flag = false;}else{int[] temp = new int[26];for(char c: word.toCharArray()){//遍历单词//依次存储统计词汇表中每个单词的字符temp[c-'a']++;if(temp[c-'a'] > cs[c-'a']){//如果单词需要的字母数大于chars提供的字母数flag = false;//匹配失败break;}}}if(flag){//匹配成功len += word.length();//结果加上当前单词的字符数}}return len;}
}

笔记

  1. 妙在借用字母的排列顺序,可以用int数组中的位置信息表示字母,而不需要用map再来存键值
  2. String 转 Char[]:chars.toCharArray()
  3. for循环的写法:遍历数组 for(元素类型 元素标志名: 数组名) for(String word: words)
  4. 由于字母只能使用一次,该问题可以转化为字母数量的比较,数量足够即可组成单词,否则不可以。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小哥哥,检索式chatbot了解一下?

喵喵喵&#xff0c;一不小心又匿了三个月&#xff0c;突然诈尸害不害怕(&#xffe3;∇&#xffe3;) 小夕从7月份开始收到第一场面试邀请&#xff0c;到9月初基本结束了校招&#xff08;面够了面够了T_T&#xff09;&#xff0c;深深的意识到今年的对话系统/chatbot方向是真的…

多重共线性、异方差和自相关性

https://www.jianshu.com/p/1e5389ca9829

【LeetCode】3月18日打卡-Day3

题1 无重复字符的最长子串 描述 给定一个字符串&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复…

别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!(2020.4.14更新)...

推完上一篇文章&#xff0c;订阅号和知乎后台有好多小伙伴跟小夕要面经&#xff08;还有个要买简历的是什么鬼&#xff09;&#xff0c;然鹅小夕真的没有整理面经呀&#xff0c;真的木有时间(&#xff61; ́︿ ̀&#xff61;)。不过话说回来&#xff0c;面经有多大用呢&#…

机器学习算法优缺点改进总结

https://wenku.baidu.com/view/5df50157f121dd36a22d82bf.html

领域应用 | 中医临床术语系统

本文转载自公众号中医药知识组织与标准。什么是中医药术语系统&#xff1f;它是干什么用的呢&#xff1f;中医药术语系统是运用计算机与信息技术等工具&#xff0c;对中医药学各领域中的事物、现象、特性、关系和过程进行标记和概括&#xff0c;并为每个概念赋予指称形成概念体…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Image图片组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Image图片组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Image组件 Image 用来加载并显示图片的基础组件&#xff0c;它支持从内存、本…

【LeetCode】3月19日打卡-Day4

题1 最长回文串 描述 给定一个包含大写字母和小写字母的字符串&#xff0c;找到通过这些字母构造成的最长的回文串。 在构造过程中&#xff0c;请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输…

别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!(19.11.21更新)

推完上一篇文章&#xff0c;订阅号和知乎后台有好多小伙伴跟小夕要面经&#xff08;还有个要买简历的是什么鬼&#xff09;&#xff0c;然鹅小夕真的没有整理面经呀&#xff0c;真的木有时间(&#xff61; ́︿ ̀&#xff61;)。不过话说回来&#xff0c;面经有多大用呢&#…

git - 简易指南

http://www.bootcss.com/p/git-guide/

梁家卿 | 百科知识图谱同步更新

本文转载自公众号知识工场。 本文整理自复旦大学知识工场梁家卿博士在IJCAI 2017 会议上的论文报告&#xff0c;题目为《How to Keep a Knowledge Base Synchronized with Its Encyclopedia Source》&#xff0c;作者包括&#xff1a;梁家卿博士&#xff08;复旦大学&#xff0…

【LeetCode】3月20日打卡-Day5

题1 最小的k个数 描述 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入4、5、1、6、2、7、3、8这8个数字&#xff0c;则最小的4个数字是1、2、3、4。 示例 1&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] 或者 [2,1] 示…

别再搜集面经啦!小夕教你斩下NLP算法岗offer!

推完上一篇文章&#xff0c;订阅号和知乎后台有好多小伙伴跟小夕要面经&#xff08;还有个要买简历的是什么鬼&#xff09;&#xff0c;然鹅小夕真的没有整理面经呀&#xff0c;真的木有时间(&#xff61; ́︿ ̀&#xff61;)。不过话说回来&#xff0c;面经有多大用呢&#…

程序员面试100题之十六:二叉树中两个节点的最近公共父节点(最低的二叉树共同祖先)

这个问题可以分为三种情况来考虑&#xff1a;情况一&#xff1a;root未知&#xff0c;但是每个节点都有parent指针 此时可以分别从两个节点开始&#xff0c;沿着parent指针走向根节点&#xff0c;得到两个链表&#xff0c;然后求两个链表的第一个公共节点&#xff0c;这个方法很…

肖仰华 | 基于知识图谱的问答系统

本文转载自公众号知识工场。 本文整理自复旦大学知识工场肖仰华教授在VLDB 2017 会议上的论文报告&#xff0c;题目为《KBQA: Learning Question Answering over QA Corpora and Knowledge Bases》&#xff0c;作者包括&#xff1a;崔万云博士&#xff08;现上海财经大学讲师&a…

【LeetCode】3月21日打卡-Day6

题1 水壶问题 描述 有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶&#xff0c;从而可以得到恰好 z升 的水&#xff1f; 如果可以&#xff0c;最后请用以上水壶中的一或两个来盛放取得的 z升 水。 你允许&#xff1a; 装满任意一个水壶 清空…

【小夕精选】YJango 7分钟带你领略你未曾想过的线性代数+微积分

小夕很早之前就想转一些精彩的技术文章&#xff0c;这样哪怕没有时间写作的时候&#xff0c;也能把优质的干货分享给大家&#xff5e;然鹅&#xff0c;由于我也不知道是什么的原因&#xff0c;就不小心拖到了现在╮(&#xffe3;▽&#xffe3;"")╭之前有不少粉丝希…

【LeetCode】3月22日打卡-Day7

题1 描述 给定整数数组 A&#xff0c;每次 move 操作将会选择任意 A[i]&#xff0c;并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入&#xff1a;[1,2,2] 输出&#xff1a;1 解释&#xff1a;经过一次 move 操作&#xff0c;数组将变为 [1, 2, 3]。…

手写实现李航《统计学习方法》书中全部算法

https://github.com/Dod-o/Statistical-Learning-Method_Code

白硕 | 基于区块链的众包社区激励机制

本文整理自白硕老师在 YOCSEF 武汉专题论坛&#xff1a;“人工智能遇到区块链&#xff0c;是惊鸿一瞥还是天长地久&#xff1f;”的报告。 很高兴有这个机会跟大家交流。我先讲几个案例作为引子。第一个案例与知识图谱有关。这个公司做的是非常垂直的一个领域&#xff0c;安全教…