文章目录

  • 1. 题目
  • 2. 解题

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。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 计算给定的字符串中每个字符a-z每种的个数Ni
  • 再计算每个给定字符串中a-z的每种的个数Nj,如果Nj > Ni 则不能组成该词

class Solution {public:int countCharacters(vector<string>& words, string chars) {int count[26] = {0}, wordcount[26];int i, j, ans = 0;bool hasthisword;for(i = 0; i < chars.size(); ++i){count[chars[i]-'a']++;}for(i = 0; i < words.size(); ++i){hasthisword = true;memset(wordcount,0,sizeof(int)*26);for(j = 0; j < words[i].size(); ++j){wordcount[words[i][j]-'a']++;}for(j = 0; j < 26; ++j){if(wordcount[j] > count[j]){hasthisword = false;break;}}if(hasthisword)ans += words[i].size();}return ans;}
};

LeetCode 1160. 拼写单词相关推荐

  1. 【LeetCode】1160. 拼写单词(C++)

    1160. 拼写单词(C++) 1 题目描述 2 示例描述 2.1 示例 1 2.2 示例 2 3 解题提示 4 解题思路 5 源码详解(C++) 1 题目描述 给你一份『词汇表』(字符串数组) wo ...

  2. 1160. 拼写单词

    2020-03-17 1.题目描述 拼写单词 2.解析 直接进行搜索即可 3.代码 #include <iostream> #include <cstring> #includ ...

  3. 拼写单词(leetcode 1160)

    文章目录 1.问题描述 2.难度等级 3.热门指数 4.解题思路 5.实现示例 5.1 C++ 5.2 Golang 参考文献 1.问题描述 给你一份『词汇表』(字符串数组) words 和一张『字母 ...

  4. 伍六七带你学算法 入门篇-拼写单词

    力扣解题,每日一题 1160. 拼写单词 难度- 简单 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 w ...

  5. 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符

    力扣1160. 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字 ...

  6. LeetCode 拼写单词

    文章目录 拼写单词 题目 解题思路 代码实现 实现结果 拼写单词 题目来源:https://leetcode-cn.com/problems/find-words-that-can-be-formed ...

  7. LeetCode 244. 最短单词距离 II(哈希map+set二分查找)

    文章目录 1. 题目 2. 解题 2.1 暴力超时 2.2 哈希表+set二分查找 1. 题目 请设计一个类,使该类的构造函数能够接收一个单词列表. 然后再实现一个方法,该方法能够分别接收两个单词 w ...

  8. LeetCode 245. 最短单词距离 III

    文章目录 1. 题目 2. 解题 1. 题目 给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离. word1 和 word2 是有可能相同的,并且它们将分别表 ...

  9. LeetCode 243. 最短单词距离

    文章目录 1. 题目 2. 解题 1. 题目 给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离. 示例: 假设 words = ["practice ...

最新文章

  1. List复制:深拷贝和浅拷贝用法及区别
  2. android rebound平移,Android 仿 IOS 拖拽回弹之进阶 ReboundFrameLayout
  3. Spring boot集成mongodb
  4. SAP UI configuration determination的优先级
  5. QT练习9 Dialog学习
  6. spark mysql 交互_Spark - 直接操作数据源 MySQL
  7. Windows安装PostgreSQL11.1
  8. PAT1018. Public Bike Management (30)
  9. [Windows小工具]两款屏幕取色拾色器(免安装,1MB左右大小)
  10. Java后端实战项目推荐-尚医通
  11. quartus联合仿真步骤
  12. RHadoop的安装与试验
  13. 学习Python爬虫有哪些书籍书籍?看这几本书就够了
  14. 用matlab做数据挖掘,matlab实现数据挖掘
  15. Sentaurus Process Refinement Boxes
  16. MEMS - 基础 - 悬臂梁的挠度
  17. 目标检测制作自己的VOC2007数据集
  18. CGM植物微生物组专题研讨(王亚玉/王孝林/刘永鑫/周骏,晚7点)
  19. 想进阿里?这些Dubbo面试题助你一臂之力
  20. 数值分析实习作业(各种插值函数与积分公式的python代码实现)

热门文章

  1. 苹果应用上架遇到的问题(2017年4月27日)
  2. shopify在哪里填写html,[Shopify开店教程]添加嵌入代码
  3. linux gunzip r .tar,Linux命令之文件归档、压缩、解压缩tar,gzip,gunzip,bzip2,bunz -电脑资料...
  4. 【NOIP 模拟赛】 道路
  5. Yakuake 2.8 beta1
  6. FarPoint Spread For .Net 4.0
  7. 推荐一个值得加入C++开发者俱乐部
  8. Android bootchart(二)
  9. linux cocos环境变量,Linux开发cocos2dx程序环境搭建
  10. 一般一个前端项目完成需要多久_制作分销小程序最快要多久