Leetcode1160. 拼写单词(C语言)
Leetcode1160. 拼写单词(C语言)
题目:
给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。
假如可用 chars 中的字符拼写出 words 中的某个字符串,每个字符只能用一次,就为掌握了这个单词。返回词汇表 words 中你掌握的所有单词的 长度之和。例 :
输入:words = [“cat”,“bt”,“hat”,“tree”], chars = “atach”
输出:6
解释:
可以形成字符串 “cat” 和 “hat”,所以答案是 3 + 3 = 6。
思路:
将chars,words[i] 的字符和个数均存储在哈希表中,进行比较。
代码:
int countCharacters(char ** words, int wordsSize, char * chars){int len=strlen(chars);if(wordsSize==0 || len==0) return 0;int hash[26]; //构造chars的哈希表memset(hash,0,sizeof(hash)); //字符&数量 哈希类型for(int i=0;i<len;i++){hash[chars[i]-'a']++;}int cnt[26];int j;int max=0;for(int i=0;i<wordsSize;i++){int wlen=strlen(words[i]);if(wlen>len) continue; //chars长度比words[i]长度小则passmemset(cnt,0,sizeof(cnt));for(j=0;j<wlen;j++){if(hash[words[i][j]-'a'] <= cnt[words[i][j]-'a']) //"="hash值为0(j=0时)break; // "<"重复字母不足cnt[words[i][j]-'a']++; //字母重复一次}if(j==wlen) max+=wlen;}return max;
}
Leetcode1160. 拼写单词(C语言)相关推荐
- Leetcode--1160.拼写单词(Java)
给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌 ...
- 伍六七带你学算法 入门篇-拼写单词
力扣解题,每日一题 1160. 拼写单词 难度- 简单 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 w ...
- 1160. 拼写单词
2020-03-17 1.题目描述 拼写单词 2.解析 直接进行搜索即可 3.代码 #include <iostream> #include <cstring> #includ ...
- 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符
力扣1160. 拼写单词 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字 ...
- 【LeetCode】1160. 拼写单词(C++)
1160. 拼写单词(C++) 1 题目描述 2 示例描述 2.1 示例 1 2.2 示例 2 3 解题提示 4 解题思路 5 源码详解(C++) 1 题目描述 给你一份『词汇表』(字符串数组) wo ...
- 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“itJava练习之翁恺MOOC——第六周
Java练习之翁恺MOOC 一.前言 一.题目 1.第六周 单词长度 2.第六周 GPS数据处理 二.代码实现 1.单词长度 2.GPS数据处理 总结 一.前言 零基础学习Java语言 一.题目 1. ...
- 拼写单词(leetcode 1160)
文章目录 1.问题描述 2.难度等级 3.热门指数 4.解题思路 5.实现示例 5.1 C++ 5.2 Golang 参考文献 1.问题描述 给你一份『词汇表』(字符串数组) words 和一张『字母 ...
- LeetCode 拼写单词
文章目录 拼写单词 题目 解题思路 代码实现 实现结果 拼写单词 题目来源:https://leetcode-cn.com/problems/find-words-that-can-be-formed ...
- 课程设计c语言拼写字母,C语言课程设计电子英汉词典.doc
C语言课程设计电子英汉词典 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 纺织服装学院 班 级 纺工1203 学 号 姓 名 指导教师 田 媛 2014年 01 月 ...
- LeetCode简单题之拼写单词
题目 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认 ...
最新文章
- Alpha fold: 人工智能在蛋白质结构预测上跑赢人类的启示
- Windows 2003系统也玩图片收藏屏保
- Linux内核源码学习
- JZOJ 100024. 【NOIP2016提高A组模拟7.6】数球
- Ubuntu连接以太网时显示“设备未托管”的解决办法
- 冬季小学期 NIIT公司 web前端培训 CSS
- 2015.10.13课堂
- mappedbytebuffer_小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下
- install memcached for ubuntu
- 刀片服务器性能对比,刀片服务器与机架服务器优势对比
- 嵌入式Linux开发工具
- 推荐更好用的网络检测命令
- 美团下拉菜单html5,jQuery vue仿美团订餐系统分类菜单切换代码
- linux切换bash dash,Ubuntu下shell脚本运行异常:bash和dash的区别
- MQTT设置retained的作用
- 卡塔尔世界杯有哪些高科技?-世界杯征文
- html css好看的提示框,div对话框,js+div+css实现好看的提示框效果(转)
- 盛迈坤电商:店铺评分的优化提升方法
- 【初阶指针之】指针和指针变量
- List的ArrayList类和LInkedlist的Vector类的使用
热门文章
- 软件测试工具有哪些?--最全最新的软件测试工具下载地址都在这里!错过绝对后悔!
- 【华为】某中小型企业网 组网案例—总公司+分公司模式
- 益企工程云:成长型建筑企业专属的工程项目管理软件
- 10php1c,很急的一個問題,請幫幫忙
- `英语` 2022/8/4
- 基于BP神经网络的车牌识别问题研究附Matlab代码
- 国际象棋棋盘 java_java绘制国际象棋与中国象棋棋盘
- 为什么我朋友的移动手机打不开我的网站却能打开www.ip138.com?
- 台式计算机usb口不能用,电脑usb接口不能用怎么办【图文教程】
- 《德鲁克管理思想精要》读书笔记10 - 沟通,领导力,创新的原则