随笔分类 -  算法 / easy

摘要:题目 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 任何误差小于 \(10^{-5}\) 的答案都将被视为正确答案。 示例 1: 输入:nums = [1,12,-5,-6,50,3], k = 4 输出:12 阅读全文
posted @ 2025-08-12 00:03 505donkey 阅读(22) 评论(0) 推荐(0)
摘要:给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(从第 0 层开始),则该层包含 1~ 2h 个节点。 示例 1: 阅读全文
posted @ 2025-03-08 18:50 505donkey 阅读(56) 评论(0) 推荐(0)
摘要:给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[3.00000,14.50000,11.00000] 解释:第 0 层的平均值为 3 阅读全文
posted @ 2025-03-02 23:30 505donkey 阅读(22) 评论(0) 推荐(0)
摘要:给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root = [4,2,6,1,3] 输出:1 示例 2: 输入:root = [1,0,48,null,null,12,49] 输出:1 提示: 树 阅读全文
posted @ 2025-02-23 23:53 505donkey 阅读(44) 评论(0) 推荐(0)
摘要:给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入:a = "11", b = "1" 输出:"100" 示例 2: 输入:a = "1010", b = "1011" 输出:"10101" 提示: 1 <= a.length, b.length <= 104 阅读全文
posted @ 2025-01-22 16:54 505donkey 阅读(27) 评论(0) 推荐(0)
摘要:颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,编译器使用二进制补码记法来 阅读全文
posted @ 2025-01-14 00:18 505donkey 阅读(30) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵平衡二叉搜索树。 示例 1: 输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案: 示例 2: 输入:n 阅读全文
posted @ 2025-01-04 18:32 505donkey 阅读(51) 评论(0) 推荐(0)
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = [ 阅读全文
posted @ 2024-12-28 10:34 505donkey 阅读(30) 评论(0) 推荐(0)
摘要:给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位的个数(也被称为汉明重量)。 示例 1: 输入:n = 11 输出:3 解释:输入的二进制串 1011 中,共有 3 个设置位。 示例 2: 输入:n = 128 输出:1 解释:输入的二进制串 1000000 阅读全文
posted @ 2024-12-26 00:30 505donkey 阅读(29) 评论(0) 推荐(0)
摘要:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 示例 2 : 输入:nums = [4, 阅读全文
posted @ 2024-12-25 23:12 505donkey 阅读(37) 评论(0) 推荐(0)
摘要:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:fals 阅读全文
posted @ 2024-12-02 13:29 505donkey 阅读(38) 评论(0) 推荐(0)
摘要:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 阅读全文
posted @ 2024-11-29 14:05 505donkey 阅读(48) 评论(0) 推荐(0)
摘要:给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 示例 2: 输入:nums = [2,2,1,1,1,2,2] 阅读全文
posted @ 2024-11-26 00:21 505donkey 阅读(50) 评论(0) 推荐(0)
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + 阅读全文
posted @ 2024-11-17 22:56 505donkey 阅读(48) 评论(0) 推荐(0)
摘要:给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为 5。 示例 2: 输入:s = " 阅读全文
posted @ 2024-11-11 23:19 505donkey 阅读(29) 评论(0) 推荐(0)
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在 阅读全文
posted @ 2024-11-09 18:19 505donkey 阅读(30) 评论(0) 推荐(0)
摘要:给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack = "sadbutsad", nee 阅读全文
posted @ 2024-11-08 11:45 505donkey 阅读(34) 评论(0) 推荐(0)
摘要:给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 n 阅读全文
posted @ 2024-10-29 23:39 505donkey 阅读(28) 评论(0) 推荐(0)
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改 nums 数组,使 nums 的前 k 阅读全文
posted @ 2024-10-29 23:35 505donkey 阅读(26) 评论(0) 推荐(0)
摘要:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。 阅读全文
posted @ 2024-10-28 14:33 505donkey 阅读(33) 评论(0) 推荐(0)