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

每天刷两道题——第六天

1.1字母异位词分组

给你一个字符串数组,将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词指的是由重新排列源单词的所有字母得到的一个新单词。

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]

互为字母异位词的两个字符串进行排序之后得到的字符串一定是相同的

代码

import collectionsclass question:def groupAnagrams(self,strs):mp=collections.defaultdict(list) #{key:[v1,v2,v3]}for st in strs:key="".join(sorted(st))mp[key].append(st)return list(mp.values())q=question()
strs=["eat", "tea", "tan", "ate", "nat", "bat"]
print(q.groupAnagrams(strs))

1.2最长连续数列

给定一个未排序的整数数组 n u m s nums nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。算法的时间复杂度为 O(n) 。

输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

代码

class question:def longestConsecutive(self,nums):longest_streak=0nums_set=set(nums) #去除重复的元素for num in nums_set:if num-1 not in nums_set: #从第一个最小的开始curent_num=numcurent_streak=1while curent_num+1 in nums_set:curent_num+=1curent_streak+=1longest_streak=max(longest_streak,curent_streak)return longest_streakq=question()
nums = [100,4,200,1,3,2]
print(q.longestConsecutive(nums))
http://www.lryc.cn/news/273383.html

相关文章:

  • 时间序列平稳性相关检验方法
  • <leetcode修炼>双指针训练-移动零
  • Python初探:从零开始的编程奇妙之旅
  • 算法与数据结构之链表<一>(Java)
  • 目标检测COCO数据集与评价体系mAP
  • 2024最全面且有知识深度的web3开发工具、web3学习项目资源平台
  • Golang - defer关键字 深入剖析
  • 如何在Spring Boot中使用@Scheduled写定时任务判断数据量是否过大,过大则进行分表操作,多张表使用临时视图查询
  • 使用jieba库进行中文分词和去除停用词
  • C语言之分支与循环【附6个练习】
  • 使用通用MCU实现无人机飞行任务的快速二次开发
  • 什么是Selinux
  • 计算机网络知识点
  • Qt 连接 Mysql
  • HarmonyOS4.0系统性深入开发14AbilityStage组件容器
  • 客服系统接入FastGPT
  • Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正
  • 广播及代码实现
  • QT应用篇 三、QML自定义显示SpinBox的加减按键图片及显示值效果
  • 2022年全国职业院校技能大赛网络安全竞赛试题1-10-B模块总结
  • 20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850
  • php-fpm运行一段时间,内存不足
  • 基于轻量级GhostNet模型开发构建生活场景下生活垃圾图像识别系统
  • 《Linux系列》Linux磁盘MBR分区扩容
  • IPv6地址配置
  • Ubuntu20.04 防火墙配置
  • Windows上ModbusTCP模拟Master与Slave工具的使用
  • 史上最细,13年老鸟总结-性能测试7大关键点,一篇打通...
  • 长虹智能电视ZLM60HiS机芯刷机方法及刷机固件,附进维修模式方法
  • 计算机网络【Google的TCP BBR拥塞控制算法深度解析】