随笔 - 81
文章 - 0
评论 - 0
阅读 -
7151
随笔分类 - LeetCode
第十一章:图
摘要:DEMO 迪杰斯特拉算法 1、邻接矩阵 1 package LeetCode.test11_tu; 2 3 import java.util.Arrays; 4 5 /** 6 * 邻接矩阵(迪杰斯特拉算法) 7 */ 8 public class demo1 { 9 public int dij(
阅读全文
第十章:树
摘要:二叉树的先中后层遍历!!! 1 package LeetCode.test5_sousuosuanfa.Demo; 2 3 public class BTree { 4 public static void main(String[] args) { 5 String[] root = {"1",
阅读全文
第九章:链表
摘要:Demo 1 package LeetCode.test9_lianbiao; 2 3 public class ListNode { 4 int val; 5 ListNode next; 6 7 public ListNode() { 8 9 } 10 11 public ListNode(in
阅读全文
第八章:令人头大的字符串
摘要:1、有效的字母异位词 问题: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram"输出: true示例 2:
阅读全文
第七章:分治法、数学问题和位运算
摘要:一、化繁为简的分治法 1、为运算表达式设计优先级 问题: 给你一个由数字和运算符组成的字符串 expression ,按不同优先级组合数字和运算符,计算并返回所有可能组合的结果。你可以按任意顺序返回答案。 示例 1: 输入:expression = "2-1-1"输出:[0,2]解释:((2-1)-
阅读全文
第六章:动态规划
摘要:DEMO 1 package LeetCode.test6_dongtaiguihua; 2 3 import java.util.Arrays; 4 import java.util.Comparator; 5 6 /** 7 * Comparator接口(比较器)的Java8 Lambda表达式
阅读全文
第五章:搜索算法
摘要:一、深度优先搜索(DFS) 1、岛屿的最大面积 问题: 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面
阅读全文
第四章:排序算法
摘要:常用排序算法: 快速排序 1 package LeetCode.test4_paixusuanfa.demo; 2 3 import java.util.Arrays; 4 5 /** 6 * 快速排序 7 * 将小于基准数的放置于基准数左边,大于基准数的放置于基准数右边 8 */ 9 public
阅读全文
第三章:二分查找
摘要:DEMO ps:https://segmentfault.com/a/1190000038594475 一、基本的二分搜索 因为我们初始化 right = nums.length - 1 所以决定了我们的「搜索区间」是 [left, right] 所以决定了 while (left <= right
阅读全文
第二章:双指针
摘要:1、两数之和 II - 输入有序数组 问题:给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1
阅读全文
第一章:贪心算法
摘要:1、分发饼干 题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。 如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩
阅读全文