数据结构和算法
数据结构和算法
全部文章
分类
读书笔记(1)
题解(70)
归档
标签
去牛客网
登录
/
注册
数据结构和算法的博客
关注微信公众号“数据结构和算法”,每日一题
TA的专栏
76篇文章
67人订阅
数据结构和算法
73篇文章
54597人学习
常见数据结构介绍
3篇文章
606人学习
全部文章
(共72篇)
【数据结构和算法】剪绳子的两种解决方式
来自专栏
数学方式解决 在做这题之前我们先来看这样一个问题,一个整数先把他分成两部分,x+y=n(假设x>=y并且x-y<=1,也就是说x和y非常接近)那么乘积是x*y。然后我们再把这两部分的差放大(x+1)+(y-1)=n(假设x>=y);他们的乘积是(x+1)*(y-1)=x*y-(x-...
整数
java
2021-07-03
95
3135
【数据结构和算法】DFS和BFS解机器人的运动范围
来自专栏
DFS(深度优先搜索) 这道题说的是一个机器人从左上角开始,他可以沿着上下左右四个方向走,并且走到的每个格子坐标的数字和不大于k,问可以走多少个格子。我们先来画个图看一下这里统计的是能走多少个格子,所以统计肯定是不能有重复的,题中说了,机器人是可以沿着上下左右四个方向走的。但你想一下,任何一个格子你...
DFS
java
BFS
2021-07-03
17
1915
【数据结构和算法】动态规划解最大正方形
来自专栏
动态规划解决 这题让求的是由1围成的最大正方形,最容易想到的一种方式就是暴力求解。解决方式就是如果某个位置是1,就以他为正方形左上角,然后沿着右边和下边找最大的正方形,并且还要保证围成的正方形中所有的数字都是1。 这种虽然容易想到但代码不太好写,并且时间复杂度也比较高。下面我们来看另一种实现方式,使...
java
矩阵
动态规划
2021-07-02
33
2602
【数据结构和算法】NC3 链表中环的入口结点
来自专栏
之前讲过《NC4 判断链表中是否有环》 只需要判断是否有环即可,而今天这题如果有环还要找出环的入口,这题我们可以使用两种方式来解决 1,快慢指针解决 在前面我们提到过快慢指针,判断是否有环。如果有环,在来找环的入口。如果没环直接返回null即可,我们假设是有环的,那么会有两种情况,一种是O型,一...
java
链表
有环
2021-06-30
44
1986
【数据结构和算法】固定一个,求两个数字之和
来自专栏
先对数组排序,然后固定一个数字,再求两个数字之和。 public ArrayList<arraylist<integer>> threeSum(int[] num) { //先排序 Arrays.sort(num); A...
java
数组
2021-04-13
5
1021
【数据结构和算法】递归和非递归两种方式解决
来自专栏
一:非递归解法 我们先来看一道非常简单的题,在计算机中数字是由二进制位表示的,也就是说是由0和1组成的,如果我们要实现0和1之间的加法该怎么实现呢,他会有4种组合方式 1,0+0=00 2,0+1=01 3,1+0=01 4,1+1=10 我们发现一个很重要的规律,就是只有1+1有进位,其他的都没进...
java
2021-04-06
11
1214
【数据结构和算法】双指针求接雨水问题,图文结合
来自专栏
1,三指针求解 这题让求柱子中间能盛多少水,首先可以肯定两边的两个柱子是不能盛水的,只有两边之间的柱子有可能会盛水。最简单的一种方式就是使用3个指针,先找到最高的柱子,用一个指针top指向最高柱子,然后最高柱子左边用两个指针,一个left,一个right(这里的left和right指向柱子的高度)。...
java
数组
双指针
2021-04-03
44
2368
【数据结构和算法】最长公共前缀
来自专栏
1,解法一 先取第一个字符串当做他们的公共前缀 然后找出他和第2个字符串的公共前缀,然后再用这个找出的公共前缀分别和第3个,第4个……判断 public String longestCommonPrefix(String[] strs) { //边界条件判断 ...
java
字符串
2021-04-03
19
1620
【数据结构和算法】把字符串转换成整数,分3步计算
来自专栏
按照题中的要求做就行了,总共分为3步 先去掉字符串两边的空格 然后判断符号 最后读取数字 public int atoi (String str) { str = str.trim();//去掉前后的空格 //如果为空,直接返回0 if (...
整数
java
字符串
2021-04-02
7
1004
【数据结构和算法】BFS和DFS两种方式解决
来自专栏
1,DFS解决 这题让求的是岛屿的面积,二维数组中值是1的都是岛屿,如果多个1是连着的,那么他们只能算一个岛屿。 最简单的一种方式就是遍历数组中的每一个值,如果是1就说明是岛屿,然后把它置为0或者其他的字符都可以,只要不是1就行,然后再遍历他的上下左右4个位置。如果是1,说明这两个岛屿是连着的,只能...
DFS
java
BFS
2021-04-02
74
2257
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页