算法
文章平均质量分 81
卍暴力出奇迹卍
这个作者很懒,什么都没留下…
展开
-
2021-03-04力扣刷题
编号938,二叉搜索树的范围和给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。示例 1:输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], low = 6, high = 10输出:23提示:树中节点数目在范围 [1, 2 * 104] 内1 <= Node.val <= 1原创 2021-03-24 18:10:18 · 51 阅读 · 0 评论 -
2021-03-23力扣刷题
编号162,寻找峰值峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5解释:你的函数可以返回索引 1,其峰值元素为 2;或者返回索引原创 2021-03-23 19:58:13 · 105 阅读 · 0 评论 -
2021-03-22力扣刷题
文章目录编号217存在重复元素HashMap解法,统计数组中每个数字出现的次数直接用HashSet去重,速度更快编号705设计哈希集合编号215数组中第K个最大元素利用最大堆的解法编号692前k个高频单词利用大顶堆,自定义构造器小顶堆解法,自定义构造器,先按需求反着来,限制堆大小为k,最后将结果顺序反转编号141环形链表快慢指针解法,当某一瞬间相遇时说明存在环编号881救生艇编号217存在重复元素给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中原创 2021-03-22 19:28:07 · 114 阅读 · 0 评论 -
2021-03-19力扣刷题
编号933,最近请求次数写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的 t 值。示例:输入:[“Rece原创 2021-03-19 12:46:54 · 89 阅读 · 0 评论 -
2021-03-18力扣刷题
编号283移动0给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。package lk2021_03_18;impo原创 2021-03-18 16:55:31 · 64 阅读 · 0 评论 -
2021-03-17力扣刷题
数组+二分法编号35给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/原创 2021-03-17 17:10:51 · 92 阅读 · 0 评论 -
Java动态规划算法:最大子阵
历届试题 最大子阵问题描述给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。其中,A的子矩阵指在A中行和列均连续的一块。输入格式输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。接下来n行,每行m个整数,表示矩阵A。输出格式输出一行,包含一个整数,表示A中最大的子矩阵中的元素和。样例输入:3 3-1 -4 33 4 -1-5 -2 8样例输出:10样例说明取最后一列,和为10。数据规模和约定对于50%的数据,1<=n, m<原创 2020-10-13 16:00:04 · 436 阅读 · 0 评论 -
Java动态规划算法:最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。import java.util.Scanner;public class Main3 { static int n; public static void main(String[] args) { Scanner sc = new Scanner(原创 2020-10-13 15:11:46 · 103 阅读 · 0 评论 -
Java算法:最小生成树
航海家们在太平洋上发现了几座新岛屿,其中最大的一个岛已经连接到Internet,但是其它岛和主岛之间没有电缆连接,所以无法入网。我们的目的是让所有岛上的居民都能上网,即每个岛和主岛之间都有直接或间接的电缆连接。输入每两个岛屿之间的连接成本,要求给出最节省成本的方案。先输入点的数量n,边的数量m,然后输入m行数据,每行数据包括起点u,终点v,成本weight,最后输出最优方案所选的边;样例输入:7 110 1 70 3 51 2 81 3 91 4 72 4 53 4 153 5 6原创 2020-10-12 22:19:43 · 490 阅读 · 0 评论 -
Java迪杰斯特拉算法求单源点最短路径
求A到其它点的最短路径输入6 90 3 280 2 41 0 21 4 102 1 152 5 84 3 45 4 185 3 13import java.util.Scanner;public class Main26 { static int INF = Integer.MAX_VALUE;// 无法到达 public static void main(String[] args) { Scanner sc = new Scanner(System.in); .原创 2020-10-12 20:17:18 · 139 阅读 · 0 评论