算法
terrygmx
这个作者很懒,什么都没留下…
展开
-
算法 | 找到 K 个最接近的元素
给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。整数 a 比整数 b 更接近 x 需要满足:|a - x| < |b - x| 或者|a - x| == |b - x| 且 a < b。原创 2022-08-25 09:14:51 · 216 阅读 · 0 评论 -
算法 | golang 实现 key有序map
摘要: Golang map实现原理是hashmap(核心元素是桶,key通过哈希算法被归入不同的bucket中),key是无序的,很多应用场景可能需要mapkey有序(例如交易所订单撮合),C++ 的stl map实现了key有序,实际上是TreeMap是基于树(红黑树)的实现方式,即添加到一个有序列表,在O(logn)的复杂度内通过key值找到value,优点是空间要...转载 2019-03-26 16:11:03 · 7954 阅读 · 0 评论 -
Golang双指针解答接雨水问题
题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9解题思路首先要明确,每个位置能存的水,取决与其两边的最大高度值。在此基础上,可以原创 2021-02-05 09:44:36 · 302 阅读 · 0 评论 -
Python3实现删除二叉搜索树中的节点
问题给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7]key = 3 ...原创 2019-04-08 00:04:40 · 1332 阅读 · 1 评论 -
Python实现接雨水问题
It’s a problem you are likely to be asked when you have interview from ByteDance.描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分...原创 2019-04-28 21:42:42 · 1631 阅读 · 0 评论