![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 93
flying$
想在这里和大家交流并成长
展开
-
一致性hash到底多牛×
一致性hash算法hash槽算法两者对比原创 2020-08-02 21:59:37 · 1089 阅读 · 0 评论 -
队列其实很简单
>1、**使用数组实现循环队列结构**>2、**使用双栈实现队列结构**原创 2020-07-12 10:41:11 · 234 阅读 · 0 评论 -
算法练习:统计「优美子数组」
题目描述:给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = [2,4,6]...原创 2020-04-21 19:29:10 · 351 阅读 · 0 评论 -
算法练习:岛屿数量
题目描述:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解释:...原创 2020-04-20 18:55:59 · 462 阅读 · 0 评论 -
算法练习:统计参与通信的服务器
题目描述:这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。示例 1:输入:grid = [[1,0],[0,1]]输出:0解释:没有一台服务器能与其他服务器进行通信。示例...原创 2020-04-16 17:04:55 · 952 阅读 · 0 评论 -
算法练习:最长定差子序列
题目描述:给你一个整数数组 arr 和一个整数 difference,请你找出 arr 中所有相邻元素之间的差等于给定 difference 的等差子序列,并返回其中最长的等差子序列的长度。示例 1:输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1,2,3,4]。示例 2:输入:arr = [1,3,5,7], diff...原创 2020-04-15 16:31:46 · 296 阅读 · 0 评论 -
算法练习:两数相加
题目描述:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4...原创 2020-04-14 15:41:21 · 224 阅读 · 0 评论 -
算法练习:通知所有员工所需的时间
题目描述:公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。在 manager 数组中,每个员工都有一个直属负责人,其中 manager[i] 是第 i 名员工的直属负责人。对于总负责人,manager[headID] = -1。题目保证从属关系可以用树结构显示。公司总负责人想要向公司所有员工通告一条紧急消息。他将...原创 2020-04-13 12:40:30 · 469 阅读 · 0 评论 -
算法练习:根据身高重建队列
题目描述:假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [...原创 2020-04-12 15:55:56 · 755 阅读 · 3 评论 -
算法练习:为运算表达式设计优先级
题目描述:给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。示例 1:输入: “2-1-1”输出: [0, 2]解释: ((2-1)-1) = 0 (2-(1-1)) = 2示例 2:输入: “23-45”输出: [-34, -14, -10, -10, 10]...原创 2020-04-10 17:57:53 · 328 阅读 · 0 评论 -
算法练习:括号组合生成
**题目描述:**给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ]**解题思路:**比较简单的方法-递归吧1.输入n之后说明现在有n个左括号和n个右括号可以填2.最左面一定...原创 2020-04-09 10:22:24 · 436 阅读 · 0 评论 -
算法练习:删除被覆盖区间
**题目描述:**给你一个区间列表,请你删除列表中被其他区间所覆盖的区间。只有当 c <= a 且 b <= d 时,我们才认为区间 [a,b) 被区间 [c,d) 覆盖。在完成所有删除操作后,请你返回列表中剩余区间的数目。示例:输入:intervals = [[1,4],[3,6],[2,8]]输出:2 解释:区间 [3,6] 被区间 [2,8]覆盖,所以它被删除...原创 2020-04-08 22:38:10 · 552 阅读 · 0 评论 -
算法练习:子域名访问计数
**题目描述:**一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名 “com”。给定一个带访问次数和域名的...原创 2020-04-07 17:23:02 · 232 阅读 · 0 评论 -
算法练习:LFU算法缓存问题(哈希表+双向链表)
**问题描述:**请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。它应该支持以下操作:get 和 put。get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。put(key, value) - 如果键不存在,请设置或插入值。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频率...原创 2020-04-06 15:12:35 · 443 阅读 · 0 评论 -
算法练习:适龄朋友问题
题目描述:人们会互相发送好友请求,现在给定一个包含有他们年龄的数组,ages[i]表示第 i 个人的年龄。当满足以下条件时,A 不能给 B(A、B不为同一人)发送好友请求:age[B]<= 0.5 * age[A]+ 7 age[B]> age[A] age[B]> 100 &&age[A]< 100否则,A 可以给 B...原创 2020-04-05 23:00:26 · 192 阅读 · 0 评论 -
算法练习:接雨水问题
**问题描述**给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6**解题思路:**先找出最高的柱子,然后从两边向其遍历,如果后一个高度比前一个柱子高度低,则可以存水,存水量是两根柱子的差值**解题代码:** public static int...原创 2020-04-04 23:42:03 · 965 阅读 · 0 评论 -
算法练习:最低票价
问题描述: 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为days的数组给出。每一项是一个从1到365的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为costs[0] 美元; 一张为期七天的通行证售价为costs[1] 美元; 一张为期三十天的通行证售价为costs[2] 美元...原创 2020-04-04 22:23:30 · 465 阅读 · 0 评论 -
数据结构八大排序java实现
本文对常见的排序算法进行了总结。常见排序算法如下:直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下:稳定与非稳定:如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为是 稳定 的。反之,则是 非稳定 的。直接插入排序基本思想通常人们整理桥牌的方法是一...转载 2019-11-20 17:16:27 · 224 阅读 · 0 评论 -
算法-连续的子数组和
这是我在力扣上遇到的一个题,看了做的时候很费脑筋,看了正确答案后,觉得这题值的记录一下给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6 输出: True 解释: [2,4] 是一个大小为 2 的子数组,并且和为 6...原创 2019-10-31 11:55:11 · 330 阅读 · 0 评论