首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法题解
阿芯爱编程
创建于2022-03-30
订阅专栏
算法实现,讲解
暂无订阅
共163篇文章
创建于2022-03-30
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
背包问题
背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题背包问题
动态规划理解
## 动态规划理解 ```java // 动态规划(Dynamic Programming, DP)是一种通过把原问题分解为相互重叠的子问题来求解复杂问题的方法, // 特
图的遍历,深度优先,广度优先
## 图广度优先搜索和深度优先搜索 ```java class Graph{ private Map<Integer, List<Integer>> adjList; public
栈,递归,回溯理解
## 1.栈 ### 判断括号匹配是否正确 ```java public static boolean isValid(String s){ final String left
反转链表解析
反转链表, //定义两个指针,修改指针方向,依次向后移动 //1.先保存next=cur.next节点; //2.改变指针方向cur.next=pre; //3.移动指针pr
二分查找最右最左值
最左值 最右值,二分查找,最左值 最右值,二分查找,最左值 最右值,二分查找,最左值 最右值,二分查找,最左值 最右值,二分查找
二分查找算法分析
1.方式一 i,j位置的元素都进行比较 2.方式二 i,j-1位置的元素都进行比较,j位置的元素不参与比较,所以j=m不是j=m-1,二分查找分析
动态规划算法题
### 1. 最小路径 --- [ [2], [3,4], [6,1,8] ] minPath=2+3+1 --- ```java public int minimumTotal(Li
算法题练习
--- 给定n个表示高程地图的非负整数,其中 每个酒吧的宽度为1,计算它能够捕获多少水 下雨了. 例如,给定 [0,1,0,2,1,0,1,3,2,1,2,1],返回6。 --- ```jav
算法练习
### 1.移除指定元素,返回新数组的长度 ```java public static int removeElement(int[] nums,int target){ in
数组操作多数之和
#### 3数之和 --- 给定n个整数的数组S,S中是否有元素a,b,c 使得a + b + c = 0?在数组中找到所有唯一的三元组 零的总和。 --- ```java public st
哈希算法
### 哈希set #### 最长连续子数组的长度 --- 给定一个未排序的整数数组,找到最长的长度 连续的元素序列。 例如,给定 [100,4,200, 1,3,2 ],最长的连续元素 序列为
数组算法
### 数组 --- 给定一个排序的数组,删除重复的地方,使每个元素 只出现一次并返回新的长度。 不要为另一个数组分配额外的空间,您必须在适当的位置执行此操作 不断的记忆。 例如,给定输入数组A =
单调栈
单调栈是一种特殊的数据结构,它由栈内元素构成单调递增或单调递减的特性。具体来说,对于单调递增栈,栈内元素从栈底到栈顶单调递增;对于单调递减栈,栈内元素从栈底到栈顶单调递减。 单调栈的应用非常广泛,包括
二分法的写法
二分法的写法,学习二分法的区间写法,写出正确的二分法,只要处理好区间的问题就能顺利的完成,只有长期的练习才能写出流利的二分法
快速排序算法
快速排序算法,dfs深度优先搜索logn时间复杂度,基于二分法的排序算法,不稳定的排序算法。数据量大的可以使用
插入排序
插入排序,算法思路,区间比较[0-i],前一项大于后一项交换位置,否则break跳出区间比较,进入下一区间,直到n个区间都比较完。
分治算法java
分治算法是一种解决问题的策略,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。然后,求解这些子问题,再合并这些子问题的解以得到原问题的解。例如,二分法就是一种简单
回溯算法全排列
"全排列"是数学中的一个概念,指的是从给定集合中取出所有元素的所有排列方式。在这个问题中,我们需要实现一个方法,该方法能够生成数字1、2和3的所有全排列。 以下是一个简单的Java实现: 这个程序首先
双指针
双指针算法在Java中的使用主要涉及到两个指针同时遍历或者迭代一个数组或列表,常用于解决一些具有线性结构的问题,如寻找数组中的旋转排序数组的最大值,或寻找数组中的最长连续子数组等。 以下是一个简单的双
下一页