摘要: 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2 实现 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # sel 阅读全文
posted @ 2020-08-11 11:31 maoguai 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长度 length = 5 阅读全文
posted @ 2020-08-11 11:12 maoguai 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board =[ ['A','B','C','E'], ['S','F','C',' 阅读全文
posted @ 2020-08-11 10:48 maoguai 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 思路 回溯法 实现 class 阅读全文
posted @ 2020-08-10 11:19 maoguai 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 题目 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 思路 回溯法 实现 class Solution: def combine(s 阅读全文
posted @ 2020-08-10 11:02 maoguai 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0]输出 阅读全文
posted @ 2020-08-10 10:33 maoguai 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1: 输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 5 阅读全文
posted @ 2020-08-08 11:25 maoguai 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]] 思路 从头遍历数组,记录0存在的行号和列号,然 阅读全文
posted @ 2020-08-08 10:59 maoguai 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中 阅读全文
posted @ 2020-08-08 10:47 maoguai 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 思路 最开始使用的是回溯的方法,但是时间效率地下没有通过,于是想到了动态规划的算法。对于i楼梯,到达其的方法有从i-1跨一步和i-2跨两步,因 阅读全文
posted @ 2020-08-08 10:00 maoguai 阅读(134) 评论(0) 推荐(0) 编辑