| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 算法题今日总结(20210801) -> 正文阅读 |
|
[数据结构与算法]算法题今日总结(20210801) |
目录 1. 变位词组对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。
解题方法: 1. 遍历输入集,记录每个字符串中每个字符及出现的次数作为hash表的key 2. 对每个字符串按字符排序,相同的字符归为一组 大神优秀题解法:
流式处理:先把入参转List, 字符排序然后相同的归一组 额外了解到的map方法:
2. 两数相加两个?非空 的链表,表示两个非负的整数。它们每位数字都是按照?逆序?的方式存储的,并且每个节点只能存储?一位?数字。请你将两个数相加,并以相同形式返回一个表示和的链表。 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 解题方法: 1.? 遍历两链表,依次相加 踩坑: 1. 将链表数据转换为long,然后数值相加,测试数据超出long类型的最大值,计算结果错误 2. 最后一位相加时,进位1为做处理。 3. 无重复字符的最长子串找出其中不含有重复字符的?最长子串?的长度。 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 “abc”, 所以输出3 解题方法: 1. 遍历字符,记录每个字符及下标,当重复出现时,遍历指针跳到此字符下标的地方,记录此子串的长度,后续子串长度大于此子串,则覆盖返回结果 2. 左右指针,左指针依次递增,左指针每移动一次,右指针移动直到出现重复字符,此时左指针和右指针之间的字符为不包含重复的子串,每次记录最大长度。 今日小结:1. 做题是总是想的太简单,基本都是暴力解法 2. 特殊情况,边界值的考虑不到位 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/13 14:38:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |