LeetCode 11月第2周题目汇总

本周分享了六道LeetCode题目的解题思路与代码实现,涵盖了字符串处理、位运算、递归、组合问题及数据转换等算法技巧,通过实例详细解析了如何利用哈希表、异或操作、递归调用等方法高效解决特定问题。
机器感知
一个专注于SLAM、Linux、算法等相关技术文章分享的公众号

开源地址:点击该链接


前言

最近比较忙,这周几乎没有刷题,只刷了6道题~

题目汇总

  • 0387_first_unique_character_in_a_string
    类似的题目比较多了,字符串中找出特别的那一个,由于字符串数目有限,所以直接使用哈希表即可,使用 unordered_map 会有点慢,直接使用数组比较快;第一次遍历统计每个字符的数量,第二次遍历找出第一个只出现一次的字符即可。
  • 0389_find_the_difference
    题目是找出两个字符串中唯一一个不同的字符是什么,这个题目和 0268_missing_number 类似,由于两个字符串只有一个不同,其他都相同,所以可以通过异或把相同的抵消,最后剩余的就是我们要找的那一个了。
  • 0392_is_subsequence
    该题目很简单了,感兴趣看代码就行。
  • 0401_binary_watch
    该题目本质上是一个组合的问题,虽然题目看似跟组合没什么关系~,总共10个可选的比特,然后给定几个比特可以为1,让计算出所有可能的时间类型,由于选择哪几个并不关心顺序,所以不是全排列,故只需计算出所有的组合可能,再转化为时间即可。
  • 0404_sum_of_left_leaves
    典型的递归题目。
  • 0405_convert_a_number_to_hex
    需要注意的点是输入的数可能是负数,所以直接对负数进行操作为陷入死循环,故首先要把负数强制转化为无符号数,然后每4个比特变成一个16进制数即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值