随笔分类 -  算法

摘要:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 示例 1: 输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2 阅读全文
posted @ 2022-07-17 23:39 开源遗迹 阅读(19) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7, 阅读全文
posted @ 2022-07-17 22:25 开源遗迹 阅读(14) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 输入:[1,8,6,2,5,4,8 阅读全文
posted @ 2022-07-17 21:08 开源遗迹 阅读(20) 评论(0) 推荐(0) 编辑
摘要:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 示例 1: 输入: 12258输出: 5解释: 12258有5种不同 阅读全文
posted @ 2022-07-16 17:55 开源遗迹 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5]输出: [12 阅读全文
posted @ 2022-07-16 16:01 开源遗迹 阅读(15) 评论(0) 推荐(0) 编辑
摘要:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 示例: 输入: a = 1, b = 1输出: 2 提示: a, b 均可能是负数或 0结果不会溢出 32 位整数 class Solution { public int add(int a, int 阅读全文
posted @ 2022-07-16 15:31 开源遗迹 阅读(15) 评论(0) 推荐(0) 编辑
摘要:颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表 阅读全文
posted @ 2022-07-16 12:56 开源遗迹 阅读(22) 评论(0) 推荐(0) 编辑
摘要:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean 阅读全文
posted @ 2022-07-16 12:34 开源遗迹 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n = 1输出:true解释:20 = 1示例 2: 输入:n = 16输出:true解释:24 阅读全文
posted @ 2022-07-16 11:52 开源遗迹 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1: 输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。 阅读全文
posted @ 2022-07-16 11:36 开源遗迹 阅读(16) 评论(0) 推荐(0) 编辑
摘要:给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < na、b、c 阅读全文
posted @ 2022-07-16 11:20 开源遗迹 阅读(17) 评论(0) 推荐(0) 编辑
摘要:整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺 阅读全文
posted @ 2022-07-16 10:07 开源遗迹 阅读(16) 评论(0) 推荐(0) 编辑
摘要:在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返 阅读全文
posted @ 2022-07-15 23:49 开源遗迹 阅读(23) 评论(0) 推荐(0) 编辑
摘要:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得 阅读全文
posted @ 2022-07-15 22:51 开源遗迹 阅读(20) 评论(0) 推荐(0) 编辑
摘要:给定两个字符串 s 和 t ,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。 示例 1: 输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2: 输入:s = "", t = 阅读全文
posted @ 2022-07-15 22:32 开源遗迹 阅读(15) 评论(0) 推荐(0) 编辑
摘要:给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s = "abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。示例 阅读全文
posted @ 2022-07-15 22:03 开源遗迹 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入:ransomNot 阅读全文
posted @ 2022-07-15 21:09 开源遗迹 阅读(14) 评论(0) 推荐(0) 编辑
摘要:输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2: 输入: root = [1]输出: 0 提示: 节点数在 [1, 1000] 范围内-1000 <= Node.val <= 10 阅读全文
posted @ 2022-07-15 20:22 开源遗迹 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例 2: 输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例 3: 输入:[2, 2, 3, 1]输出:1解释:注意 阅读全文
posted @ 2022-07-15 19:46 开源遗迹 阅读(14) 评论(0) 推荐(0) 编辑
摘要:给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]示例 2: 输入:root = [1]输出:["1"] 提示: 树中节点的数目在范围 [ 阅读全文
posted @ 2022-07-15 18:57 开源遗迹 阅读(18) 评论(0) 推荐(0) 编辑

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