
算法
力扣算法,Java实现
扶风呀
这个作者很懒,什么都没留下…
展开
-
42.接雨水
/** * @Classname CatchRain * @Description TODO * @Version 1.0.0 * @Date 2021/11/2 9:20 * @Created by DiTian */public class CatchRain { public static void main(String[] args) { int[] height = new int[]{0,1,0,2,1,0,1,3,2,1,2,1}; //原创 2021-11-02 10:33:52 · 122 阅读 · 0 评论 -
5. 最长回文子串
最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成动态规划和中心扩展法实现:/** * @Author: DiTian *.原创 2021-10-11 10:18:25 · 178 阅读 · 0 评论 -
236. 二叉树的最近公共祖先(java)
/** * @Author: DiTian * @Description: * @Date: Created in 9:28 2021/8/20 */public class CommonAncestor { private static Map<Integer,BTNode> parent = new HashMap<Integer,BTNode>(); private static Set<Integer> visited = new Has原创 2021-08-20 12:11:53 · 372 阅读 · 0 评论 -
88. 合并两个有序数组
/** * @Author: DiTian * @Description: 合并两个有序数组 * @Date: Created in 9:24 2021/8/13 */public class MergeTwoArrays { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入第一个有序数组,逗号隔原创 2021-08-13 10:28:00 · 165 阅读 · 0 评论 -
415. 字符串相加
/** * @Author: DiTian * @Description: 两字符串相加 * @Date: Created in 15:23 2021/8/12 */public class StrAddStr { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str1 = scanner.nextLine();原创 2021-08-12 16:58:33 · 68 阅读 · 0 评论 -
121. 买卖股票的最佳时机(java)
/** * @Author: DiTian * @Description: 买卖股票的最佳时机 * @Date: Created in 16:49 2021/8/9 */public class MaxProfit { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一串数字,逗号隔开:");原创 2021-08-10 09:43:29 · 91 阅读 · 0 评论 -
103. 二叉树的锯齿形层序遍历(Java)
/** * @Author: DiTian * @Description: 二叉树的锯齿形层次遍历 * @Date: Created in 16:08 2021/7/28 */@SuppressWarnings("unused")public class ZigzagLevelTraversal { //树节点类 static class TreeNode{ Integer val; TreeNode left; TreeNode原创 2021-08-09 16:31:54 · 175 阅读 · 0 评论 -
21. 合并两个有序链表(Java代码实现)
通过递归和迭代两种方式合并两个有序链表/** * @Author: DiTian * @Description: 合并两个有序链表 * @Date: Created in 10:03 2021/8/6 */public class MergeTwoList { //创建节点类 static class LinkedNode{ private int val; private LinkedNode next; public Linke原创 2021-08-06 10:50:10 · 198 阅读 · 0 评论 -
LeetCode 53. 最大子序和
/** * @Author: DiTian * @Description: 最大子序列和 * @Date: Created in 13:33 2021/8/2 */public class MaxSubArray { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入数组元素,以逗号分隔:");原创 2021-08-03 12:56:14 · 80 阅读 · 0 评论 -
LeetCode---15. 三数之和(java实现)
/** * @Author: DiTian * @Description: * @Date: Created in 15:24 2021/7/30 */public class SumOfThreeNums { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Set set = new HashSet(); System.ou原创 2021-07-30 16:07:52 · 75 阅读 · 0 评论 -
二叉树创建
创建一棵二叉树,并进行先序,层次遍历/** * @Author: DiTian * @Description: 树的创建 * @Date: Created in 16:59 2021/7/28 */public class BTNode { //定义一个二叉树的结点 private int data; private BTNode lchild; private BTNode rchild; //构造函数 public BTNode(){原创 2021-07-29 08:49:32 · 162 阅读 · 0 评论 -
【LeetCode】160. 相交链表(JAVA完整代码)
/** * @Author: DiTian * @Description: 求两个链表的相交节点 * @Date: Created in 16:49 2021/8/5 */public class IntersectionNode { //节点类 static class LinkedNode{ private String val; private LinkedNode next; LinkedNode(String val){原创 2021-08-06 09:46:14 · 228 阅读 · 0 评论 -
141. 环形链表
给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。/** * @Author: DiTian * @Description: * @Date: Created原创 2021-08-05 09:55:25 · 56 阅读 · 0 评论 -
快速排序和计数排序
/** * @ClassName: SortArray * @Description: 数组排序 * @Author: DiTian * @Date: 2021/8/1 11:58 */public class SortArray { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个数组,以原创 2021-08-01 20:00:40 · 156 阅读 · 0 评论