数据结构和算法
数据结构和算法
全部文章
分类
读书笔记(1)
题解(70)
归档
标签
去牛客网
登录
/
注册
数据结构和算法的博客
关注微信公众号“数据结构和算法”,每日一题
TA的专栏
96篇文章
70人订阅
数据结构和算法
73篇文章
55670人学习
常见数据结构介绍
4篇文章
733人学习
【面试精华】各大厂算法面试真题
19篇文章
180人学习
全部文章
(共89篇)
【数据结构和算法】StringBuilder,双指针等3种实现方式
1,使用StringBuilder 使用StringBuilder,一行代码搞定 public String solve(String str) { return new StringBuilder(str).reverse().toString(); } 2,双...
java
字符串
双指针
2021-04-02
18
1160
【数据结构和算法】双指针,栈,递归3种解决方式
1,双指针求解 这题要求链表的倒数第k个节点,最简单的方式就是使用两个指针,第一个指针先移动k步,然后第二个指针再从头开始,这个时候这两个指针同时移动,当第一个指针到链表的末尾的时候,返回第二个指针即可。注意,如果第一个指针还没走k步的时候链表就为空了,我们直接返回null即可。 publ...
递归
java
栈
双指针
2021-04-02
78
2273
【数据结构和算法】排序,Map,2种方式解决
1,先排序 先排序,然后在挨着统计每个数字的个数 public int MoreThanHalfNum_Solution(int[] array) { if (array.length == 1) return array[0]; //...
排序
java
2021-04-02
4
946
【数据结构和算法】使用两个栈实现队列
做这题之前我们首先要明白一点就是,栈是先进后出的,队列是先进先出的。我们可以使用两个栈stackPop和stackPush, 1,往队列中添加元素的时候直接把要添加的值压入到stackPush栈中。 2,往队列中删除元素的时候如果stackPop中有元素我们就直接删除,如果没有元素,我们需要把sta...
java
栈
队列
2021-04-02
5
953
【数据结构和算法】4种解决方式,图文详解
1,递归解决 这题非常简单,我们直接按照公式来就可以了F(n) = F(n - 1) + F(n - 2),但要做好边界条件的判断F(0) = 0,F(1) = 1 public int Fibonacci(int n) { if (n < 2) ...
递归
java
斐波那契
2021-04-02
7
965
【数据结构和算法】带图文分析的4种解法
1,解法一 我们使用两个指针,一个i一个j,最开始的时候i和j指向第一个元素,然后i往后移,把扫描过的元素都放到map中,如果i扫描过的元素没有重复的就一直往后移,顺便记录一下最大值max,如果i扫描过的元素有重复的,就改变j的位置,我们就以pwwkew(这是之前画的图,求的是字符串,不是数字,这里...
java
字符串
2021-04-02
224
7704
【数据结构和算法】中心扩散,暴力,动态规划3种方式解决
1,中心扩散法 中心扩散法也很好理解,我们遍历字符串的每一个字符,然后以当前字符为中心往两边扩散,查找最长的回文子串,下面随便举个例子,看一下 图片中我们是以每一个字符为中心,往两边扩散,来求最长的回文子串。但忽略了一个问题,回文串的长度不一定都是奇数,也可能是偶数,比如字符串"a...
java
字符串
动态规划
2021-04-02
148
5783
【数据结构和算法】动态规划和递归两种方式解决
1,动态规划求解 这题求的是从左上角到右下角,路径上的数字和最小,并且每次只能向下或向右移动。所以上面很容易想到动态规划求解。我们可以使用一个二维数组dp,dp[i][j]表示的是从左上角到坐标(i,j)的最小路径和。那么走到坐标(i,j)的位置只有这两种可能,要么从上面(i-1,j)走下来,要么从...
递归
java
动态规划
2021-04-02
19
1556
【数据结构和算法】三种解决方式
往左边逼近 public int search(int[] nums, int target) { //边界条件判断 if (nums == null || nums.length == 0) return -1; in...
java
二分法
2021-03-31
61
2535
【数据结构和算法】4种实现方式,排序,最大堆,TreeMap,快排
1,先排序 这种实现方式比较简单,无论使用哪种排序方式都可以,排序之后在取前k个元素即可,代码如下 public ArrayList<integer> GetLeastNumbers_Solution(int[] input, int k) { ArrayList...
排序
java
堆
二分法
2021-03-31
32
2381
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页