学号:16340008


Question:

You're given strings J representing the types of stones that are jewels, and S representing the stones you have.  Each character in Sis a type of stone you have.  You want to know how many of the stones you have are also jewels.

The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so "a" is considered a different type of stone from "A".

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

Example 2:

Input: J = "z", S = "ZZ"
Output: 0

Note:

  • S and J will consist of letters and have length at most 50.
  • The characters in J are distinct.

Answer:

语言用的是C#

思路在于,创造一个数组以记录某个字母是否在J中出现过,为了方便直接创建了长度为128的布尔数组。

因为直接根据字母的ASCII码作为数组索引,因此查阅布尔值可以达到最快速度。

可以做到J和S两个字符串都只遍历一次。

首先遍历J,以获得字母的出现与否,得到比照数组。

然后遍历S,对S中的每个字母,对照上面的数组对应的布尔值,以判断是否对所求数值操作。

public class Solution {public int NumJewelsInStones(string J, string S) {int num = 0;bool[] letters = new bool[128];char[] Jc = J.ToCharArray();foreach(char l in Jc) {letters[l] = true;}char[] Sc = S.ToCharArray();foreach(char l in Sc) {if (letters[l]) num ++;}return num;}
}

算法设计与分析:Jewels and Stones(Week 1)相关推荐

  1. 算法设计与分析课程的时间空间复杂度

    算法设计与分析课程的时间空间复杂度: 总结 算法 时间复杂度 空间复杂度 说明 Hanoi $ O(2^n) $ $ O(n) $ 递归使用 会场安排问题 \(O(nlogn)\) \(O(n)\) ...

  2. 哈工大威海算法设计与分析_计算机算法设计与分析第一章 算法概述

    晓强Deep Learning的读书分享会,先从这里开始,从大学开始.大家好,我是晓强,计算机科学与技术专业研究生在读.我会不定时的更新我的文章,内容可能包括深度学习入门知识,具体包括CV,NLP方向 ...

  3. PHP第五周答案,算法设计与分析第五周作业——Word Ladder

    算法设计与分析第五周作业--Word Ladder 上周找了一道深度搜索优先搜索的算法题来做,于是这周就选了一道广度优先搜索算法题来试试手. 本周所选题目:原题目链接 题目详情 题目大意:给出一个字符 ...

  4. 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...

    <太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...

  5. 算法设计与分析——算法思想总结

    算法设计与分析 1.分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同.递归的解这些子问题,然后将各子问题的解合并得到原问题的解. 分治法所能解 ...

  6. 算法设计与分析——递归与分治策略——全排列

    算法设计与分析--递归与分治策略--全排列 全排列问题的解决是通过分治与递归思想来解决的 首先判断是否递归到了最后一位,如果递归到了最后一位,则输出他当前的全排列序列. 如果没有到达最后一位,则循环的 ...

  7. 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案

    <计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...

  8. 0x08算法设计与分析复习(二):算法设计策略-回溯法2

    参考书籍:算法设计与分析--C++语言描述(第二版) 算法设计策略-回溯法 子集和数 问题描述 已知n个不同的正数wi(0≤i≤n−1)的集合,求该集合的所有满足条件的子集,使得每个子集中的正数之和等 ...

  9. 【算法设计与分析】16 分治策略:快速排序(快速排序的时间复杂度计算)

    上一篇文章学习了:[算法设计与分析]15 分治策略:芯片测试 文章目录 1. 快速排序的基本思想 1.2 时间复杂度的计算 1.21 最坏情况时间复杂度计算 1.22 最好情况时间复杂度 1.23 平 ...

  10. 【算法设计与分析】15 分治策略:芯片测试

    上一篇文章学习了[算法设计与分析]14 分治算法的一般描述和分析方法 文章目录 1. 芯片测试 1.1 一次测试的过程 1.2 如何测试一块芯片的好坏 1.3 蛮力算法 1.4 分治算法设计思想 1. ...

最新文章

  1. Shell编程之matrix---装逼又炫酷
  2. python实现简单小游戏_python实现简单井字棋小游戏
  3. Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
  4. 省选+NOI 第八部分 数论
  5. 《OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础》
  6. matlab 脚本文件 函数,Matlab 脚本文件script和函数文件function的区别
  7. 腾讯云Ubuntu服务器挂载阿里云盘
  8. 方舟服务器占用多少内存,方舟生存进化占用多少内存
  9. matalb编写程序实现ps的“素描滤镜”
  10. 微信小程序集合3(百度小说+电商+仿哗哩哗哩小视频+码绘本跟读+科学计算器+身份证查询+天气+投资理财微+外卖+在线音乐排行)
  11. 程序员初创公司的合伙人股权的进入和退出机制设计-20151020
  12. cs1.6 linux,在Ubuntu 8.04下玩CS1.6
  13. 程序员在家办公太无聊,推荐你看完这十部电影。收货满满
  14. 扫描版PDF文件,如何弄成可复制的文字版?
  15. Python中使用Turtle绘制阴阳鱼(小白的学习分享)
  16. [RK3568 Android11] 教程之硬件中断(实验一)
  17. 自学编程80余年,这些私藏的实用工具学习网站陪我走到了现在,必须收藏,学习效率翻倍! - 工具篇
  18. 高斯消元法【Gaussian Elimination】
  19. 2022十二月GBase8a第二次阶段考试02-SQL基础
  20. 基于共轭梯度法的对抗攻击

热门文章

  1. 起底“XX神器”:超级手机病毒的因果
  2. Android应用程序开发期末大作业(2)
  3. 02年计算机学院成立,教育部关于成立2002年-2006年教育部高等学校外语专业等科类教学指导委员会的通知...
  4. 标准ACL(Standard ACL)
  5. 923模拟电子技术基础和数字电子技术基础考试大纲
  6. hp服务器系统检测,HP服务器检测步骤
  7. 题解【NOIP2013_火柴排序】— 问题与转化
  8. 【金猿技术展】OceanBase 社区版——一款开源分布式HTAP数据库管理系统
  9. android手机投影到电视软件下载,安卓手机怎么投屏到电视?这两种方法最简单!...
  10. 《集体智慧编程》学习笔记001