
算法
文章平均质量分 65
atao777
这个作者很懒,什么都没留下…
展开
-
检测是否为二叉搜索树
题目描述:给定一个树状结构(可能不是树),检查它是否是二叉搜索树。如果答案为YES,则输出“YES”及其叶子节点总数;否则,输出“NO”。输入: 第一行:1个数字n 以下n几行:每行包含两个值x和y,表示具有 key 的节点是具有 key 的节点x的父节点y。第一个y是 的左孩子x,第二个y是 的右孩子x。如果y是-1,则没有 的对应子代x。请注意,树中所有节点的键都是不同的且为正的。 输出:如果输入树是二叉搜索树,则输出“YES”及其叶子节点总数;否则,输出“NO”。代.原创 2021-07-30 22:20:38 · 128 阅读 · 0 评论 -
Dijkstra-单源最短路径-java实现
问题描述求从 开始的所有点的最短路径的长度s。点 id 是从 1, 2, ... 到 N。输入N, M, S 后面是 M 行,每一行是u v w,代表一条从u到到v长度为 的路径w。输出N行,每一行是s到第i个点的距离。如果无法到达,则目的地为 -1。 尺寸 N <= 1,000,000 M <= 2,000,000 w >= 0 总长度以 为界int32_t难点:时间限制:1.5s内存限制:200M为了保..原创 2021-07-30 22:15:55 · 152 阅读 · 0 评论 -
最高频元素的频数(排序+滑动窗口)
问题:元素的 频数 是该元素在一个数组中出现的次数。给你一个整数数组 nums 和一个整数 k 。在一步操作中,你可以选择 nums 的一个下标,并将该下标对应元素的值增加 1 。执行最多 k 次操作后,返回数组中最高频元素的 最大可能频数 。方案:①排序,将无序数组转化成有序②滑动窗口,从左到右,右窗口右移,求左右差值,当值大于给定k时,回溯,左窗口右移,否则只移动有窗口,每次移动取一次最频率。代码:class Solution {public int maxFrequ翻译 2021-07-19 21:27:24 · 179 阅读 · 0 评论