当前位置: 首页 > news >正文

力扣刷题-借助哈希完成一次遍历

3185构成整天的下标对数目

给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] + hours[j] 构成 整天 的下标对 ij 的数目。

整天 定义为时间持续时间是 24 小时的 整数倍 

例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。

这道题目,需要用哈希,来存储出现次数,循环每遇到一个元素,就把该元素除余24的数保存到变量t中,然后在哈希中找是否存在与t相加为24的倍数的数,如果有,就加上这个数的出现次数,最后更新哈希,把t放进哈希并次数加一。

python代码如下:

class Solution:

    def countCompleteDayPairs(self, hours: List[int]) -> int:

        cnt = Counter()

        count = 0

        for i, x in enumerate(hours):

            t = x % 24

            target = (24 - t) % 24

            count += cnt[target]

            cnt[t] += 1

        return count

2506统计相似字符串对的数目

给你一个下标从 0 开始的字符串数组 words 。

如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。

  • 例如,"abca" 和 "cba" 相似,因为它们都由字符 'a''b''c' 组成。
  • 然而,"abacba" 和 "bcfd" 不相似,因为它们不是相同字符组成的。

请你找出满足字符串 words[i]  words[j] 相似的下标对 (i, j),并返回下标对的数目,其中 0 <= i < j <= words.length - 1 。

这道题目先借用集合的性质,集合中元素不重复,所以循环遍历数组,每遇到一个单词就把单词这个字符串转化为集合,这样可以去除相同的字符,然后把这个去重的字符串排序,需要先转化为列表排序然后再转为字符串,然后查该字符串是否存在与哈希中,如果有,就加上这个次数,最后更新哈希,即次数加一。

python代码如下:

class Solution:

    def similarPairs(self, words: List[str]) -> int:

        cnt=Counter()

        count=0

        for i,x in enumerate(words):

            s=set(x)

            sorteds=str(sorted(list(s)))

            if sorteds in cnt:

                count+=cnt[sorteds]

            cnt[sorteds]+=1

        return count

 

http://www.dtcms.com/a/589588.html

相关文章:

  • 网络图标误报?电脑显示无网却能上网的快速修复法
  • 二七区做网站动画设计培训机构
  • 做网站九州科技哈尔滨网络公司定制开发
  • 链动2+1模式、AI智能名片与S2B2C商城小程序:破解直播电商流量转化困局的创新路径
  • 建设网站基本思路系统页面模板
  • 怎样制作属于自己的网站app排版网站
  • 福建设计招聘网站网站服务设计
  • zabbix结合grafana打造自定义炫酷监控界面实战
  • 网站建设的安全性问题宁波网站建设 网络服务
  • 网站asp文件只读做网站的目的和要求
  • Git_log_查看文件的修改记录不完整
  • 计算机网络---安全外壳协议(SSH,Secure Shell)
  • 从0到1学习Qt -- 常见控件(一)
  • java小案例3
  • wordpress支付界面出现500如何做网站seo排名优化
  • 基于Spring Boot电子签平台,实名认证+CA证书
  • 052_小驰私房菜_MTK 平台可能可以提升camera帧率的一些修改
  • 多天线技术
  • 聊城市网站制作江门做网站多少钱
  • 行为型设计模式1
  • MATLAB实现白噪声与色噪声仿真
  • 甘德县公司网站建设工业设计公司如何运营
  • JAVA-Redis上
  • 免费空间 上传网站虚拟主机推荐
  • mysql配置主从同步
  • 基于SpringBoot+Vue+协同过滤算法的在线旅游系统
  • 【高并发服务器:HTTP应用】十六、HttpContext上下文模块 HttpServer服务器模块 服务器测试
  • 河南科兴建设有限公司网站茂名住房证书城乡建设局官方网站
  • MySQL JSON查询与索引
  • claude code 自定义命令