- 博客(7)
- 收藏
- 关注
原创 第一章-并发编程的挑战
P2 public class Main { private static final long count = 10001; public static void main(String[] args) throws InterruptedException{ concurrency(); serial(); } private static void concurrency() throws InterruptedException{
2020-12-02 09:41:24 65
原创 leetcode-第 34 场双周赛
这里写目录标题5493. 删除最短的子数组使剩余数组有序5494. 统计所有可行路径 5493. 删除最短的子数组使剩余数组有序 给你一个整数数组 arr ,请你删除一个子数组(可以为空),使得 arr 中剩下的元素是 非递减 的。 一个子数组指的是原数组中连续的一个子序列。 请你返回满足题目要求的最短子数组的长度。 输入:arr = [1,2,3,10,4,2,3,5] 输出:3 解释:我们需要删除的最短子数组是 [10,4,2] ,长度为 3 。剩余元素形成非递减数组 [1,2,3,3,5] 。 另一个
2020-09-06 04:25:39 67
原创 动态规划-背包问题
0-1背包问题指的是n件物品要么选中要么不选,计算选中的物品的价值 完全背包问题则每件物品可以多次选择 [leetcode-416]分割等和子集 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11]. class Solution { public boolean canPart
2020-09-06 02:11:35 80
转载 手写阻塞队列(Condition实现)
原文: link. 阻塞队列 package blockqueue; import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class MyBlockQueue { pr
2020-09-04 23:19:09 107
转载 手写一个生产者消费者模式
转载: link. 仓库 package customer_producer; import java.util.ArrayList; import java.util.List; public class Storage { private static int MAV_VALUE = 100; private List<Object> list = new ArrayList<>(); public void producer(int num){
2020-09-04 22:38:53 95
转载 并发编程之手写一个简单的线程池
原文: link. 创建ThreadPool package threadpool; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingDeque; import java.util.concurrent.BlockingQueue; public class MyThreadPool {
2020-09-04 21:54:37 61
翻译 各种排序算法总结&实现[Java]
各种排序算法总结&实现[Java] 链接: python版本. 主要排序算法:冒泡、选择、插入、希尔、归并、快速、堆排序。时间复杂度和空间复杂度及稳定性(原始序列中相同的两个元素经排序后前后顺序不改变)总结如下图。 方法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定 冒泡 O(n^2) O(n^2) O(n^2) O(1) 稳定 选择 O(n^2) O(n^2) O(n^2) O(1) 不稳定 插入 O(n^2) O(n^2) O(n) O(1) 稳定
2020-09-04 19:24:40 80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人