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语言)相关推荐

  1. Leetcode--1160.拼写单词(Java)

    给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌 ...

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

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

  3. 1160. 拼写单词

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

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

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

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

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

  6. 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“itJava练习之翁恺MOOC——第六周

    Java练习之翁恺MOOC 一.前言 一.题目 1.第六周 单词长度 2.第六周 GPS数据处理 二.代码实现 1.单词长度 2.GPS数据处理 总结 一.前言 零基础学习Java语言 一.题目 1. ...

  7. 拼写单词(leetcode 1160)

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

  8. LeetCode 拼写单词

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

  9. 课程设计c语言拼写字母,C语言课程设计电子英汉词典.doc

    C语言课程设计电子英汉词典 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 电子英汉词典 专 业 纺织服装学院 班 级 纺工1203 学 号 姓 名 指导教师 田 媛 2014年 01 月 ...

  10. LeetCode简单题之拼写单词

    题目 给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认 ...

最新文章

  1. Alpha fold: 人工智能在蛋白质结构预测上跑赢人类的启示
  2. Windows 2003系统也玩图片收藏屏保
  3. Linux内核源码学习
  4. JZOJ 100024. 【NOIP2016提高A组模拟7.6】数球
  5. Ubuntu连接以太网时显示“设备未托管”的解决办法
  6. 冬季小学期 NIIT公司 web前端培训 CSS
  7. 2015.10.13课堂
  8. mappedbytebuffer_小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下
  9. install memcached for ubuntu
  10. 刀片服务器性能对比,刀片服务器与机架服务器优势对比
  11. 嵌入式Linux开发工具
  12. 推荐更好用的网络检测命令
  13. 美团下拉菜单html5,jQuery vue仿美团订餐系统分类菜单切换代码
  14. linux切换bash dash,Ubuntu下shell脚本运行异常:bash和dash的区别
  15. MQTT设置retained的作用
  16. 卡塔尔世界杯有哪些高科技?-世界杯征文
  17. html css好看的提示框,div对话框,js+div+css实现好看的提示框效果(转)
  18. 盛迈坤电商:店铺评分的优化提升方法
  19. 【初阶指针之】指针和指针变量
  20. List的ArrayList类和LInkedlist的Vector类的使用

热门文章

  1. 软件测试工具有哪些?--最全最新的软件测试工具下载地址都在这里!错过绝对后悔!
  2. 【华为】某中小型企业网 组网案例—总公司+分公司模式
  3. 益企工程云:成长型建筑企业专属的工程项目管理软件
  4. 10php1c,很急的一個問題,請幫幫忙
  5. `英语` 2022/8/4
  6. 基于BP神经网络的车牌识别问题研究附Matlab代码
  7. 国际象棋棋盘 java_java绘制国际象棋与中国象棋棋盘
  8. 为什么我朋友的移动手机打不开我的网站却能打开www.ip138.com?
  9. 台式计算机usb口不能用,电脑usb接口不能用怎么办【图文教程】
  10. 《德鲁克管理思想精要》读书笔记10 - 沟通,领导力,创新的原则