淡然处之_
淡然处之_
全部文章
分类
题解(19)
归档
标签
去牛客网
登录
/
注册
淡然处之_的博客
做一个世界的水手,奔赴所有的码头
全部文章
(共18篇)
给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水
很多人是没有理解题目,下面是别人的代码问题的关键是找到最小边界。如图 import java.util.*; public class Solution { /** * max water * @param arr int整型一维数组 the array ...
循环
双指针
2021-03-09
11
1475
你设计一个算法来计算可以获得的最大收益。
假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。贪心法解决。每一步记录 import java.util.*; public class Solution { /...
贪心法
循环
2021-03-09
0
787
给定一个二叉树和一个值\ sum sum,请找出所有的根节点到叶子节点的节点值之和等于\ sum sum 的路径
用栈的结构性质,然后递归就行。 import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ p...
dfs
递归
遍历
栈
循环
2021-03-09
2
1122
合并 k\ k k 个已排序的链表并将其作为一个已排序的链表返回。
基于合并两个链表的基础上就行,对于K个>2个链表,则依次取出一个将其与已经合并好的就行,没什么难度 import java.util.ArrayList; /** * Definition for singly-linked list. * public class ListNode { ...
java
遍历
循环
合并链表
2021-03-08
0
687
给定一棵二叉树,判断琪是否是自身的镜像(即:是否对称)两种方法递归与迭代
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Sol...
dfs
树
递归
java
遍历
树对称
层次遍历
bfs
2021-03-08
0
763
判断给定的链表中是否有环。如果有环则返回true,否则返回false。
直接全部拆解链表,每次向下遍历时,将当前指针的next都指向head,若有环,最终下一个会跳到head处,此时与head相等则有环!!!若无环,则最终下一个指针会指向null; /** * Definition for singly-linked list. * class ListNode {...
遍历
链表
链表
2021-03-07
2
765
将给出的链表中的节点每k 个一组翻转,返回翻转后的链表 如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样
将给出的链表中的节点每\ k k 个一组翻转,返回翻转后的链表如果链表中的节点数不是\ k k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。要求空间复杂度 \ O(1) O(1)例如:给定的链表是1\to2\to3\to4\to51→2→3→4→5对于 \ k = 2 k...
遍历
反转链表
2021-03-07
1
1092
输入某二叉树的前序和中序遍历的结果,重建出该二叉树。
通过递归就行,关键是每一步的下标范围要对准!最好画草图来确认;思路如下:每次先序遍历第一个结点,则该结点为当前子树下的根a,再在中序遍历中找到根a的位置,a的左边是左子树,右边是右子树。然后在通过相同的方式,一次遍历左右子树即可。 /** * Definition for binary tree ...
dfs
树
递归
java
遍历
2021-03-07
2
791
先找倒数第N个,但是要注意保留该结点的前一个,用于删除
问题关键在于找到倒数第N个节点,并且尽量只使用一次循环。采用两个指针,对前指针,使其先走出N步,随后两个指针同时前进,当前指针到达链表尾部时,后指针到达倒数第N个节点的位置。其余细节,考虑只有一个结点和两个结点的可能,考虑周全就行了 import java.util.*; /* * public...
java
栈
2021-01-05
0
589
创建一个ArrayList,若新的结点不在List中,则加入List,在其中的话,返回该结点
用java解决还是很好的,创建一个ArrayList,若新的结点不在List中,则加入List,在其中的话,返回该结点 就是入口了 public class Solution { public ListNode detectCycle(ListNode head) { Arr...
java
链表
遍历
2021-01-05
1
803
首页
上一页
1
2
下一页
末页