算法
该专栏主要是一些我在牛客网、leetcode、蓝桥杯遇到的算法题的解析和记录
小郁同学
深度强化学习爱好者,算法路上的前行者。一直在寻找问题,一直也在解决问题。欢迎联系我,进行交流与讨论。
展开
-
JAVA计算两条直线的交点(判断两条线段相交)
JAVA计算两条直线的交点(判断两条线段相交)原创 2022-07-28 21:09:52 · 2993 阅读 · 1 评论 -
AUC性能指标计算方法及优缺点
AUC是重要性能指标,除了Area under curve的面积意义以外,还可以通过统计上的概率进行解释。原创 2022-07-21 12:03:27 · 1777 阅读 · 0 评论 -
LRU缓存机制和LFU缓存机制的编码实现
LRU缓存机制和LFU缓存机制的理解与代码实现原创 2022-06-08 20:39:06 · 288 阅读 · 0 评论 -
回溯法记录:全排列和N皇后
全排列class Solution { List<List<Integer>> ans = new ArrayList<>(); public List<List<Integer>> permute(int[] nums) { boolean[] used = new boolean[nums.length]; List<Integer> res = new ArrayList<&原创 2022-05-11 21:02:17 · 185 阅读 · 0 评论 -
二分图:无向图的广度优先搜索
思路:graph是邻接矩阵,记录点u的下一个节点v,广度遍历节点进行染色。由于不一定是连通图,所以需要将所有的节点都进行染色,每次先选择一个没上色的节点进行广度遍历上色,直至与这个节点直接或间接相连的点都被上色。如果不是二分图,则会出现该节点已经有颜色且与要上色的样式不符。class Solution { private int RED = 1; private int GREEN = 2; public boolean isBipartite(int[][] graph) {原创 2022-05-02 17:19:29 · 440 阅读 · 0 评论 -
剑指offer做题笔记java版(41-68)
文章目录剑指 Offer 41. 数据流中的中位数(大顶堆+小顶堆)剑指 Offer 41. 数据流中的中位数(大顶堆+小顶堆)解题思路:采用堆(优先队列)的数据结构进行解题,采用大顶堆存储数据中较小的半部分,采用小顶堆存储数据中较大的半部分。插入数据时保持有序性,并且从大顶堆开始插入。大顶堆记为maxHeap,小顶堆记为minHeap。插入时(保证数据的有序性):1.如果maxHeap.size() == minHeap.size(),则先将新的数num插入minHeap,并将minHeap的堆顶原创 2021-02-08 00:35:40 · 705 阅读 · 0 评论 -
剑指offer做题笔记Java版(1-40)
剑指 Offer 03. 数组中重复的数字该题第一个想法使用HashSet实现时空复杂度都为O(n)的查重算法,然后看了题解可以用置换的方法实现时间复杂度为O(n),空间复杂度为O(1)的算法。主要思路:因为n个数的范围0~n-1且其中有重复,我们将每个数字都放在对应的下标上必会出现重复。所以从下标为i从0开始,如果 (i!=nums[i]) 依次将nums[i] 置换到对应的位置上,直至找到两个位置上有重复为止。剑指 Offer 04. 二维数组中的查找该题二维数组中查找数字,如果和惯性思维从矩阵的原创 2021-01-19 03:30:11 · 1204 阅读 · 0 评论 -
leetcode上java编程常用方法
有序列表List<Integer> list = new ArrayList();Collections.reverse(list);//翻转列表顺序哈希集合HashSet<Integer> set = new HashSet();set.contains()set.add()栈Deque<TreeNode> stack = new LinkedList();//也可以用 Stack<Integer> stack = new Stack(原创 2021-01-17 23:27:02 · 677 阅读 · 1 评论 -
试题 算法训练 操作格子(暴力解法和线段树解法)
问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,...原创 2020-03-25 15:23:20 · 365 阅读 · 0 评论 -
判断一棵二叉树是否为搜索二叉树和完全二叉树(第一版,运行超时,第二版,运行通过!!!)
本人菜鸟一枚,第一次用C++解决树相关的算法题。目前仍在学习,第一次写博客,较为简陋,还望海涵。判断一棵二叉树是否为搜索树和完全二叉树,解题思路:1.首先根据输入建立树结构。2.中序遍历,判断序列是否单调增,如果符合,则为搜索树。3.判断树是否为完全树,即:不存在只有右孩子没有左孩子的节点,且只有左孩子没有右孩子的节点至多只有一个。代码实现思路:1.构造树的时候,树的节点采用结构体No...原创 2020-02-17 21:25:29 · 252 阅读 · 0 评论