![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
算法小菜鸟*
这个作者很懒,什么都没留下…
展开
-
算法打卡第11周
leetcode第208题实现前缀树 class Trie { private TrieNode root; private static class TrieNode { boolean isEnd; TrieNode[] children; public TrieNode() { this.children = new TrieNode[26]; this.isEnd = false;原创 2021-06-06 13:03:59 · 88 阅读 · 0 评论 -
算法打卡第十周
leetcode第437题路径总和 题目描述: 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 ```java class Solution { private int sum = 0; public int pathSum(TreeNode root, int targetSum) { if (root == null) {原创 2021-05-23 22:12:12 · 64 阅读 · 0 评论 -
算法打卡第九周
leetcode第1997题特定深度节点链接 题目描述 给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。 package datastruct.tree.listdepth; import java.util.LinkedList; import java.util.Queue; /** * @date 2021/5/14 17:55 */ public class ListOfDepth {原创 2021-05-15 08:27:43 · 63 阅读 · 0 评论 -
算法打卡第8周
leetcode第2044题LRU缓存 设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。 它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上原创 2021-05-03 01:11:24 · 86 阅读 · 0 评论 -
算法打卡第六周
leetcode1962题动物收容所 题目描述: 有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构,实现各种操作方法,比如enqueue、dequeueAny、dequeueDog和dequeueCat。允许使用Java内置的LinkedList数据结构。enqueue方法有一个原创 2021-04-18 09:46:28 · 54 阅读 · 0 评论 -
算法打卡第五周
leetcode第1969题 题目描述: 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动一个盘子; (2) 盘子只能从柱子顶端滑出移到下一根柱子; (3) 盘子只能叠在比它大的盘子上。 请编写程序,用栈将所有盘子从第一根柱子移到最后一根柱子。 class Solution { public void hanota(List&原创 2021-04-08 17:41:43 · 51 阅读 · 0 评论 -
算法打卡第四周
leetcode第2022题:滑动窗口的最大值 题目描述: 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 例如: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] package datastruct; import java.util.*; /** * @Author: jxy * @Date: 2021/4/3 11:37 */ public class SlidingWindow {原创 2021-04-03 13:14:21 · 100 阅读 · 1 评论 -
算法打卡第三周
leetCode第1989题 题目描述: 给定一个包含正整数、加(+)、减(-)、乘()、除(/)的算数表达式(括号除外),计算其结果。 表达式仅包含非负整数,+, - ,,/ 四种运算符和空格 。 整数除法仅保留整数部分。 class Solution { public int calculate(String s) { Stack<Integer> numStack = new Stack<>(); int num = 0;原创 2021-03-26 13:10:55 · 88 阅读 · 0 评论 -
算法打卡第二周
leetCode第206题添加链接描述 class Solution { public ListNode reverseList(ListNode head) { if (head == null) { return null; } ListNode pre = head; ListNode curr = head.next; int index = 0; while (curr原创 2021-03-20 18:04:07 · 82 阅读 · 0 评论 -
算法练习
算法打卡第一周 Leetcode第1528题:重新排列字符串 class Solution { public String restoreString(String s, int[] indices) { char[] chars = new char[indices.length]; for (int i =0;i<indices.length;i++) { chars[indices[i]] = s.charAt(i); }原创 2021-03-14 11:46:14 · 58 阅读 · 0 评论