leecode刷题第五天
leecode刷题第5天
1.今天的第一题是一道合并链表题,题目如下:
这道题的思路是先判断两个链表的头节点值谁大,如果l1大则将l1的头节点加入到curr中且l1=l1.next,否则将l2的头节点加入到curr中且l2=l2.next,直到l1和l2中有一个为空,最后将不为空的链表直接加入到curr中。代码如下:
class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: curr=ListNode()#新建头节点 heads=curr while l1!=None and l2!=None: if(l1.val<l2.val): curr.next=l1 l1=l1.next else: curr.next=l2 l2=l2.next curr=curr.next if l1!=None: curr.next=l1 if l2!=None: curr.next=l2 return heads.next
2.第二题题目如下:
这道题的一个最优解是:
首先检查数组是否为空数组
建立一个长度为26的数组,起始值为0
遍历所有字符串,将字母的出现频率放到数组的对应位置里(利用ascii码)
遍历数组,按照相同字母出现频率进行分组归类(使用hashmap)
遍历map,将结果返回
代码如下:
class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: if len(strs)==0: return [] maps={} for stri in strs: characters=[0]*26 for i in range(len(stri)): asciii=ord(stri[i])-97#得到对应字母的下标 characters[asciii]+=1 b=[str(i) for i in characters] key="".join(b) #将对应的键值保存到maps中,增加到对应的列表里方便输出结果if (key in maps.keys()): maps[key].append(stri) else: maps[key]=[stri] result=[] for i in maps.keys(): result.append(maps[i]) return result
leecode刷题第五天相关推荐
- leecode刷题(4)-- 存在重复数组
leecode刷题(4)-- 存在重复数组 存在重复数组 题目描述: 给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 ...
- Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
Leecode刷题 [1数组专题4]80. 删除排序数组中的重复项II (以及通用解法) 题目: 思路 双指针法: (错误代码) 正解: 通用解法: 题目: 给你一个有序数组 nums ,请你 原地 ...
- C语言百日刷题第五天
C语言百日刷题第五天 41.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定 42.实现一个函数来交换两个整数的内容. 43.实现一个函数来进行整型有序数组的二分查找 44.接收一个无符号整型 ...
- 刷题方法(五步刷题法)
先介绍一下我刷题的方法–五步刷题法.这是我看的极客时间覃超老师的刷题方法.为什么要刷5遍题目呢?其实刷题最重要的是过遍数,也就是说每题花的时间少,但是要多刷几遍,形成记忆(大牛就可以不用看了,我这里只 ...
- Leecode刷题热题HOT100导航目录
导航 前言 题目目录 总结 前言 本文记录LeetCode刷题热题HOT100系列文章目录. 本系列文章包括: 自己在LeetCode刷题过程中自己的解题思路 优秀的解题思路 通过题目的自己代码 优秀 ...
- 『百日百题 · SQL篇』备战面试,坚持刷题(五)—— 多表查询
本专栏『百日百题』长期更新,一起加入本刷题计划,一起成长吧!
- 哈希表——算法专项刷题(五)
五.哈希表 哈希表多用于辅助记录是否存在key或者通过key找下标value 5.1插入.删除和随机访问都是O(1)的容器 原题链接 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结 ...
- 牛客前端刷题(五)—— CSS相关概念
还在担心面试不通过吗?给大家推荐一个超级好用的刷面试题神器:牛客网,里面涵盖了各个领域的面试题库,还有大厂真题哦! 赶快悄悄的努力起来吧,不苒在这里衷心祝愿各位大佬都能顺利通过面试. 面试专栏分享,感 ...
- 程序员代码面试指南刷题--第五章.字符串的调整II
题目描述 给定一个字符类型的数组chas[],chas右半区全是空字符,左半区不含有空字符.现在想将左半区的空格字符串替换成"%20",假设chas右半区足够大,可以满足替换需要的 ...
最新文章
- Oracle database 11g 安装 - 配置企业管理器database control失败
- C++回调函数是什么?
- 全国 省市 自治区的数据库sql生成
- 前端学习(2057):vue.js的安装方法
- Multi_thread--Linux下多线程编程中信号量介绍及简单使用
- 全球信息产业的云转型浪潮
- 21天Jmeter打卡Day13 逻辑控制器之if和简单控制
- 反编译那些事儿(四)—序列化问题
- Quartus II13.0的破解过程
- 笔记本计算机在桌面显示器,笔记本连接显示器
- 【JS】阮一峰js教程总结
- 服务器ahci模式安装系统,ahci模式下安装win7系统的方法
- 蓝桥杯 单片机 决赛 第7届 电压、频率采集设备
- Flutter 修改App Logo图标
- 研究表明:手机移动数据可用于预测犯罪行为
- pandas相关性分析的三种方法
- 对于面向对象的简单理解
- HTTP请求中POST与GET的区别
- 利用Try-with-resources(TWR)读取Excel文件
- 英语总结和摘要怎样写?