![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 70
Hanson Huang
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】java有向带权图最短路径算法-Dijkstra算法(通俗易懂)
有向图最段路径原理及java代码实现原创 2024-03-25 18:34:10 · 1936 阅读 · 0 评论 -
何为一致性哈希?一致性哈希和哈希有什么区别?一文深入理解一致性哈希
一致性哈希的原理原创 2024-03-13 23:40:32 · 3229 阅读 · 1 评论 -
【数据结构】二叉树的层序遍历、前序遍历,中序遍历、后续遍历
二叉树的前序、中序、后续、层序遍历原创 2024-03-13 14:35:14 · 1323 阅读 · 2 评论 -
Java学习笔记——数据结构
数据结构——栈和队列:数据结构——数组特点:数据结构——链表:数据结构——红黑树:原创 2020-06-19 20:05:29 · 129 阅读 · 0 评论 -
204. 计数质数
问题:统计所有小于非负整数 n 的质数的数量。示例1输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例2输入:n = 0输出:0示例3输入:n = 1输出:0提示:0 <= n <= 5 * 106思路:枚举很直观的思路是我们枚举每个数判断其是不是质数。考虑质数的定义:在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。因此对于每个数 x,我们可以从小到大枚举 [2,x−1] 中原创 2020-12-24 21:45:02 · 80 阅读 · 0 评论 -
1491. 去掉最低工资和最高工资后的工资平均值
题目:给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。示例1:输入:salary = [4000,3000,1000,2000]输出:2500.00000解释:最低工资和最高工资分别是 1000 和 4000 。去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500示例2:输入:salary = [1000,2000,3000]输出:2000原创 2020-12-24 20:51:48 · 252 阅读 · 0 评论 -
135.分发糖果
题目:老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:**输入: [1,2,2]输出: 4解释: 你可以分别给这三个孩子分发 1、2、1 颗糖果。第原创 2020-12-24 16:43:28 · 169 阅读 · 1 评论 -
55.跳跃游戏
题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。方式:贪心算法原创 2020-12-23 21:52:55 · 92 阅读 · 0 评论 -
387.字符串中的第一个唯一字符
题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。实例:`s = “leetcode”返回 0s = “loveleetcode”返回 2`第一遍先统计每个字符出现的次数,第二遍再次从前往后遍历字符串s中的每个字符,如果某个字符出现一次直接返回,原来比较简单,看下代码:class Solution { public int firstUniqChar(String s) { int[] arr = new int[26];原创 2020-12-23 20:12:50 · 106 阅读 · 0 评论 -
剑指offer 40.最小的k个数
最小的k个数题目:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。实例1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]实例2:输入:arr = [0,1,2,1], k = 1输出:[0]Top K 的两种经典解法(堆/快排变形)与优劣比较解题思路:这道题是一个经典的 Top K 问题,是面试中的常客。Top K 问题有两种不同的解法,一种解法使用堆(优先队列),另一种原创 2020-12-23 19:16:45 · 159 阅读 · 0 评论