随笔分类 -  算法

摘要:给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 思路:原地哈希 class Solution { public int firstMissingPositive(int[] nums) { int l 阅读全文
posted @ 2022-01-02 15:39 哥们要飞 阅读(37) 评论(0) 推荐(0) 编辑
摘要:给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/path-sum-ii著作权归领 阅读全文
posted @ 2022-01-01 17:17 哥们要飞 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生成的 所有数字之和 。 叶节点 是指没有子节点的节点。 来源:力扣(Lee 阅读全文
posted @ 2021-12-30 18:57 哥们要飞 阅读(25) 评论(0) 推荐(0) 编辑
摘要:有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@ 阅读全文
posted @ 2021-12-29 20:00 哥们要飞 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/slidin 阅读全文
posted @ 2021-12-28 19:54 哥们要飞 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/median-o 阅读全文
posted @ 2021-12-26 17:58 哥们要飞 阅读(24) 评论(0) 推荐(0) 编辑
摘要:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "a 阅读全文
posted @ 2021-12-25 21:08 哥们要飞 阅读(42) 评论(0) 推荐(0) 编辑
摘要:给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。 答案: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * 阅读全文
posted @ 2021-12-24 22:06 哥们要飞 阅读(24) 评论(0) 推荐(0) 编辑
摘要:实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 来源:力扣(LeetCode)链接:https://leetc 阅读全文
posted @ 2021-12-23 20:06 哥们要飞 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。 来源 阅读全文
posted @ 2021-12-22 20:42 哥们要飞 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。翻转后单词间应当仅用一个空格分隔 阅读全文
posted @ 2021-12-21 20:57 哥们要飞 阅读(95) 评论(0) 推荐(0) 编辑
摘要:给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/edit-d 阅读全文
posted @ 2021-12-17 19:52 哥们要飞 阅读(24) 评论(0) 推荐(0) 编辑
摘要:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 来源:力扣(LeetCode)链接:https://leetco 阅读全文
posted @ 2021-12-16 15:22 哥们要飞 阅读(29) 评论(0) 推荐(0) 编辑
摘要:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { 阅读全文
posted @ 2021-12-15 15:31 哥们要飞 阅读(19) 评论(0) 推荐(0) 编辑
摘要:存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。 返回同样按升序排列的结果链表。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-dupl 阅读全文
posted @ 2021-12-15 08:59 哥们要飞 阅读(27) 评论(0) 推荐(0) 编辑
摘要:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems 阅读全文
posted @ 2021-12-12 20:52 哥们要飞 阅读(42) 评论(0) 推荐(0) 编辑
摘要:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 来源:力扣(LeetCode)链接:https://leetcode-cn 阅读全文
posted @ 2021-12-11 21:11 哥们要飞 阅读(35) 评论(0) 推荐(0) 编辑
摘要:以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/ 阅读全文
posted @ 2021-12-10 20:49 哥们要飞 阅读(36) 评论(0) 推荐(0) 编辑
摘要:路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。 来源:力扣(LeetCode)链 阅读全文
posted @ 2021-12-09 19:41 哥们要飞 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。 对于给定的输入,保证和为 t 阅读全文
posted @ 2021-12-08 20:05 哥们要飞 阅读(27) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示