算法设计与分析:Jewels and Stones(Week 1)
学号: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 S
is 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
andJ
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)相关推荐
- 算法设计与分析课程的时间空间复杂度
算法设计与分析课程的时间空间复杂度: 总结 算法 时间复杂度 空间复杂度 说明 Hanoi $ O(2^n) $ $ O(n) $ 递归使用 会场安排问题 \(O(nlogn)\) \(O(n)\) ...
- 哈工大威海算法设计与分析_计算机算法设计与分析第一章 算法概述
晓强Deep Learning的读书分享会,先从这里开始,从大学开始.大家好,我是晓强,计算机科学与技术专业研究生在读.我会不定时的更新我的文章,内容可能包括深度学习入门知识,具体包括CV,NLP方向 ...
- PHP第五周答案,算法设计与分析第五周作业——Word Ladder
算法设计与分析第五周作业--Word Ladder 上周找了一道深度搜索优先搜索的算法题来做,于是这周就选了一道广度优先搜索算法题来试试手. 本周所选题目:原题目链接 题目详情 题目大意:给出一个字符 ...
- 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...
<太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...
- 算法设计与分析——算法思想总结
算法设计与分析 1.分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题相同.递归的解这些子问题,然后将各子问题的解合并得到原问题的解. 分治法所能解 ...
- 算法设计与分析——递归与分治策略——全排列
算法设计与分析--递归与分治策略--全排列 全排列问题的解决是通过分治与递归思想来解决的 首先判断是否递归到了最后一位,如果递归到了最后一位,则输出他当前的全排列序列. 如果没有到达最后一位,则循环的 ...
- 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案
<计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...
- 0x08算法设计与分析复习(二):算法设计策略-回溯法2
参考书籍:算法设计与分析--C++语言描述(第二版) 算法设计策略-回溯法 子集和数 问题描述 已知n个不同的正数wi(0≤i≤n−1)的集合,求该集合的所有满足条件的子集,使得每个子集中的正数之和等 ...
- 【算法设计与分析】16 分治策略:快速排序(快速排序的时间复杂度计算)
上一篇文章学习了:[算法设计与分析]15 分治策略:芯片测试 文章目录 1. 快速排序的基本思想 1.2 时间复杂度的计算 1.21 最坏情况时间复杂度计算 1.22 最好情况时间复杂度 1.23 平 ...
- 【算法设计与分析】15 分治策略:芯片测试
上一篇文章学习了[算法设计与分析]14 分治算法的一般描述和分析方法 文章目录 1. 芯片测试 1.1 一次测试的过程 1.2 如何测试一块芯片的好坏 1.3 蛮力算法 1.4 分治算法设计思想 1. ...
最新文章
- Shell编程之matrix---装逼又炫酷
- python实现简单小游戏_python实现简单井字棋小游戏
- Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?
- 省选+NOI 第八部分 数论
- 《OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础》
- matlab 脚本文件 函数,Matlab 脚本文件script和函数文件function的区别
- 腾讯云Ubuntu服务器挂载阿里云盘
- 方舟服务器占用多少内存,方舟生存进化占用多少内存
- matalb编写程序实现ps的“素描滤镜”
- 微信小程序集合3(百度小说+电商+仿哗哩哗哩小视频+码绘本跟读+科学计算器+身份证查询+天气+投资理财微+外卖+在线音乐排行)
- 程序员初创公司的合伙人股权的进入和退出机制设计-20151020
- cs1.6 linux,在Ubuntu 8.04下玩CS1.6
- 程序员在家办公太无聊,推荐你看完这十部电影。收货满满
- 扫描版PDF文件,如何弄成可复制的文字版?
- Python中使用Turtle绘制阴阳鱼(小白的学习分享)
- [RK3568 Android11] 教程之硬件中断(实验一)
- 自学编程80余年,这些私藏的实用工具学习网站陪我走到了现在,必须收藏,学习效率翻倍! - 工具篇
- 高斯消元法【Gaussian Elimination】
- 2022十二月GBase8a第二次阶段考试02-SQL基础
- 基于共轭梯度法的对抗攻击
热门文章
- 起底“XX神器”:超级手机病毒的因果
- Android应用程序开发期末大作业(2)
- 02年计算机学院成立,教育部关于成立2002年-2006年教育部高等学校外语专业等科类教学指导委员会的通知...
- 标准ACL(Standard ACL)
- 923模拟电子技术基础和数字电子技术基础考试大纲
- hp服务器系统检测,HP服务器检测步骤
- 题解【NOIP2013_火柴排序】— 问题与转化
- 【金猿技术展】OceanBase 社区版——一款开源分布式HTAP数据库管理系统
- android手机投影到电视软件下载,安卓手机怎么投屏到电视?这两种方法最简单!...
- 《集体智慧编程》学习笔记001