摘要:
题目来源 450. 删除二叉搜索树中的节点 题目描述 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删 阅读全文
摘要:
题目来源 230. 二叉搜索树中第K小的元素 题目详情 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k个最小元素(从 1 开始计数)。 示例 1: 输入: root = [3,1,4,null,2], k = 1 输出: 1 示例 2: 输入: root = 阅读全文
摘要:
绪论 二分法是用于查找有序序列中某个元素的常用方法,时间复杂度为log(n) 写过二分法的人就知道,二分法好用但是也经常让人头疼,因其边界往往容易出错,而且在刷力扣看题解的时候,一会儿while(left < right)一会儿while(left <= right),头都搞晕了,因此特地来学习总结 阅读全文
摘要:
题目来源 34. 在排序数组中查找元素的第一个和最后一个位置 题目详情 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log 阅读全文
摘要:
题目来源 154. 寻找旋转排序数组中的最小值 II 相似题目 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 154. 寻找旋转排序数组中的最小值 II 题目详情 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = 阅读全文
摘要:
题目来源 295. 数据流的中位数 题目详情 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num 阅读全文
摘要:
题目来源 503. 下一个更大元素 II 题目详情 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这 阅读全文
摘要:
题目来源 328. 奇偶链表 题目详情 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。 你必须在 阅读全文
摘要:
题目来源 239. 滑动窗口最大值 题目详情 给你一个整数数组 nums,有一个大小为 k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入: nums = [1,3,-1,-3,5,3,6 阅读全文
摘要:
题目来源 74. 搜索二维矩阵 题目详情 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [[1,3,5,7],[10,11,16,20],[2 阅读全文
摘要:
题目来源 149. 直线上最多的点数 题目详情 给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1: 输入: points = [[1,1],[2,2],[3,3]] 输出: 3 示例 2: 输入: 阅读全文
摘要:
题目来源 191. 位1的个数 题目描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您 阅读全文
摘要:
题目来源 460. LFU 缓存 题目描述 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。 实现 LFUCache 类: LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象 int get(int key) - 如果键 key 存在于缓存中, 阅读全文
摘要:
题目来源 209. 长度最小的子数组 题目详情 给定一个含有 n个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。** 如果不存在符合条件的子 阅读全文
摘要:
题目来源 18. 四数之和 题目详情 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= 阅读全文
摘要:
题目来源 567. 字符串的排列 题目详情 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 示例 1: 输入: s1 = "ab" s2 = "eidbaooo" 阅读全文
摘要:
题目来源 714. 买卖股票的最佳时机含手续费 题目详情 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了 阅读全文
摘要:
题目来源 188. 买卖股票的最佳时机 IV 题目详情 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: prices 阅读全文
摘要:
题目来源 123. 买卖股票的最佳时机 III 题目详情 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: prices 阅读全文
摘要:
前言 之前的Fabric智能合约编写,部署,调用文章已经详细讲了如何创建、部署、运行fabcar的go智能合约,但是如何使用sdk与智能合约交互却没有说,本节将详细介绍这部分内容。 fabcar项目启动 进入fabcar目录: cd /root/go/src/github.com/hyperledg 阅读全文