LeetCode 11月第1周题目汇总
开源地址:点击该链接
前言
最近一个多月发现以【每天一题】系列的形式来更新题目并不太合适,一是没有足够多合适的题目来更新,二是单独拿出来一个题来讲不太系统,应该把多个相似的题目放在一起讲,这样才能够达到举一反三的效果,所以决定停止【每天一题】系列,改为【每周小结】,然后每个月再进行一次月总结,接下来言归正传。
十一月第一周共有20道题目,具体分类如下
映射
该类题目常用数据结构为:map, unordered_map, set 或 使用数组进行 hash 映射。
- 0242_valid_anagram
- 0290_word_pattern
- 0299_bulls_and_cows
以上三题都是字符或字符串之间的双映射关系是否成立,根据情况使用map、unordered_map 或 使用数组也可以 - 0349_intersection_of_two_arrays
- 0350_intersection_of_two_arrays_ii
以上两题是求解两个数组的交集,第一个题目只需要找出有几种不同的即可,不关心数量;第二个题目需要找出具体多少个相同字符,重复的也算进去 - 0383_ransom_note
这一个题目是查询一个字符串中是否含有不少于另一个字符串字符数量
深度优先搜索
- 0257_binary_tree_paths
脑筋急转弯
这个题目比较有意思,刚开始想了很多种做法,但是感觉太复杂了,应该会超时,想想算了,看看官方题解,结果竟然就一句搞定了,我就***了,看完解析后,只能说,服了,感兴趣的可以看看官方的解法,这里就不赘述了。
- 0292_nim_game
数学
这类题目都是可以使用数学方法解决的题目,并不是太多的考察数据结构。
- 0258_add_digits
- 0263_ugly_number
- 0268_missing_number
该题目有多种解法,第一种是根据递增数组求解,然后计算差值就可得到确实的数是哪一个;第二种是官方给出的一种,通过异或运算得出,方法很有意思;两种方法复杂度相同 - 0303_range_sum_query_immutable
这个题目就是预先计算积分即可,了解图像处理的都知道图像积分这个概念,只不过这里是一维数组,而图像是二维的(不考虑颜色通道时),所以很简单 - 0326_power_of_three
- 0342_power_of_four
这两个题目是判断给定数是否是某个数的幂,最简单的方法就是暴力分解,一种做法是将给定数转化成对应数的进制,即3进制或4进制,转换后的数如果是它的幂,那么一定只含有一个 1,所以判断一下就行了;另一种方法就是如果先找出最大的幂是多少,如果给定数也是,那么最大幂一定可以整除这个数,复杂度为O(1)
二分法
二分法就没什么好说的了,就那些操作,左右各一个,中间数大了右边的往左移动,中间数小了左边的往右移动,直到结束即可。
- 0278_first_bad_version
- 0367_valid_perfect_square
- 0374_guess_number_higher_or_lower
反转数组
反转数组就是使用双指针了,第一个题目直接进行即可,第二个题目只反转元音字母,所以指针移动时不再是++或--操作,而是以元音字母为单位移动,也没什么复杂的。
- 0344_reverse_string
- 0345_reverse_vowels_of_a_string
位运算
根据计算机原理,使用二进制的异或和与运算实现加法,其中异或表示加法,与运算表示进位。
- 0371_sum_of_two_integers
LeetCode 11月第1周题目汇总的更多相关文章
- LeetCode 11月第2周题目汇总
开源地址:点击该链接 前言 最近比较忙,这周几乎没有刷题,只刷了6道题~ 题目汇总 0387_first_unique_character_in_a_string类似的题目比较多了,字符串中找出特别的 ...
- leetcode - 位运算题目汇总(下)
接上文leetcode - 位运算题目汇总(上),继续来切leetcode中Bit Manipulation下的题目. Bitwise AND of Numbers Range 给出一个范围,[m, ...
- All LeetCode Questions List 题目汇总
All LeetCode Questions List(Part of Answers, still updating) 题目汇总及部分答案(持续更新中) Leetcode problems clas ...
- leetcode top 100 题目汇总
首先表达我对leetcode网站的感谢,与高校的OJ系统相比,leetcode上面的题目更贴近工作的需要,而且支持的语言广泛.对于一些比较困难的题目,可以从讨论区中学习别人的思路,这一点很方便. 经过 ...
- 2019年10~11月-NLP工程师求职记录
求职目标:NLP工程师 为什么想换工作? 除了技术相关书籍,我没读过太多其他类型的书,其中有一本内容短但是对我影响特别大的书--<谁动了我的奶酪>.出门问问是我毕业后的第一份工作,无论是工 ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- 北京Uber优步司机奖励政策(11月23日~11月29日)
用户组:人民优步"关羽组"(适用于11月23日-11月29日)奖励政策: 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最 ...
- 北京Uber优步司机奖励政策(11月16日~11月22日)
用户组:人民优步“关羽组”(适用于11月16日-11月22日)奖励政策: 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/ ...
- 北京Uber优步司机奖励政策(11月9日~11月15日)
用户组:人民优步“关羽组”(适用于11月9日-11月15日)奖励政策: 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月 ...
随机推荐
- Zookeeper 学习笔记之 节点个数
zookeeper的节点配置的个数推荐是奇数个这是为什么呢? 选举机制 两种情况无法选出leader: 整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2) 整个集群超过半数机器挂掉. ...
- Linux被中断的系统调用
慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept.无输入时的read都属于慢速系统调用. 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该 ...
- c++ 对特定进程的内存监控
在工具实现的过程中,遇到了内存爆了的问题,部分模型的规模可以达到10的100次方方甚至1000次方.(工具的主要算法涉及到了递归,递归深度会很深,所以也用到了ulimit修改栈空间来缓解爆栈的问题,治 ...
- C# 读取控制台的Console.Write
一个程序去调用另一个xxx.exe的时候,需要记录下这个exe里面的console.write的输出 public static string InvokeExcute(string Command) ...
- Android 横竖屏切换生命周期
默认情况下,屏幕会旋转并且会重新走生命周期. 1. 屏幕不旋转 在AndroidManifest文件中的对应Activity中配置android:screenOrientation=”landsc ...
- HashMap底层数据结构详解
一.HashMap底层数据结构 JDK1.7及之前:数组+链表 JDK1.8:数组+链表+红黑树 关于HashMap基本的大家都知道,但是为什么数组的长度必须是2的指数次幂,为什么HashMap的加载 ...
- 【TencentOS tiny】深度源码分析(1)——task
任务的基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元.TencentOS tiny是一个支持多任务的操作系统,任务可以使用或等待CPU.使用内存空间等系统资源,并独立于其它任务运行,理论上 ...
- LeetCode_844-Backspace String Compare
输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...
- LeetCode初级算法--数组02:旋转数组
LeetCode初级算法--数组02:旋转数组 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/ ...
- C# Foreach循环本质与枚举器
对于C#里面的Foreach学过 语言的人都知道怎么用,但是其原理相信很多人和我一样都没有去深究.刚回顾泛型讲到枚举器让我联想到了Foreach的实现,所以进行一番探究,有什么不对或者错误的地方大家多 ...