T1打包 一个二维01背包的板子,状态转移方程$$Dp_{j,k}=max\left \{Dp_{j,k},Dp_{j-Weight_i,k-V_i}+Value_i\right \}$$ T2暗黑破坏神 大概类似于分组背包,开$long\ long$,在更新$Dp$的过程中记录路径,递归输出即可。 ...
分类:
其他好文 时间:
2021-06-11 18:06:14
阅读次数:
0
公平锁 非公平锁 可重入锁(递归锁) package com.model.lock; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.concurrent.l ...
分类:
编程语言 时间:
2021-06-11 18:03:17
阅读次数:
0
任何容器的底层数据结构只有两种:一种是数组;另一种是链表。例如:list,set,map,二叉树,图等容器。访问容器使用Iterator迭代器。 public interface Collection_ { void add(Object o); int size(); Iterator_ iter ...
分类:
其他好文 时间:
2021-06-10 18:43:23
阅读次数:
0
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 解法一:深度优先搜索 public ...
分类:
其他好文 时间:
2021-06-10 18:17:17
阅读次数:
0
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2: 输入:n = 1输出:["()"] 解法一:递归 教会我程序是一步 ...
分类:
其他好文 时间:
2021-06-10 17:38:58
阅读次数:
0
简介 思路: 个数和序号相等 code class Solution { int size = 0; int maxCode = 0; public boolean isCompleteTree(TreeNode root) { if(root == null) return true; recur ...
分类:
其他好文 时间:
2021-06-10 17:38:44
阅读次数:
0
简介 递归的算法很巧妙. 算法思想: 判断递归终止条件 将链表划分成两部分 进行递归判断左右 将返回的两部分头结点, 进行有序合并 返回 头结点 code /** * Definition for singly-linked list. * struct ListNode { * int val; ...
分类:
编程语言 时间:
2021-06-10 17:32:08
阅读次数:
0
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 特判不为空过后,一定要马上判断root是否等于p或q ...
分类:
其他好文 时间:
2021-06-09 10:30:45
阅读次数:
0
我非常惭愧, 学计算机也好几年了, 居然现在还不会写快排, 可见我水平有多低下(而且现在我也就刚学会递归版, 不会迭代版). 而且我感觉这个非常容易写错. 所以我估计这篇文章我可能会不断更新. import random def quicksort(a,lo,hi): if(lo==hi): ret ...
分类:
编程语言 时间:
2021-06-08 22:52:01
阅读次数:
0
1.递归就是:A方法调用A方法,自己调用自己 2.利用递归可以用简单的程序来解决一些复杂的问题,它通常把一个大型复杂的问题蹭蹭转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可描述出解题过程中所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象 ...
分类:
编程语言 时间:
2021-06-08 22:37:09
阅读次数:
0