代码编织梦想

【异步-生产者消费者-Java】-SynchronousQueue-为啥capacity是0-爱代码爱编程

看Executors.newCachedThreadPool();用的 SynchronousQueue,老是说什么capacity为0。我就纳闷了capacity为0的队列有啥用??? 不是说队列不能放element,而是说放了element,这个线程就被阻塞了。 只到另一个线程来拿走。好比一个机关 吃手的塑料管,你拿个苹果放到管子里,咔!! 你手被卡

浅谈单调队列-爱代码爱编程

引入:什么是单调队列 单调队列,就是单调+队列(废话 什么是单调性呢? 对于任意一个 i i i与

Stack (栈)、Queue (对列)-爱代码爱编程

顺序表实现栈 public class MyStack<T> { public T[] elem; public int pop; public MyStack(){ this.elem = (T[])new Object[10]; } //是否满了 private bool

Dota2参议员-爱代码爱编程

Dota2 参议员 class Solution { public String predictPartyVictory(String senate) { /* 1.把R和D分成两个队列,每个队列存放这个数字在字符串中的位置 2.将队列的列首元素poll出,相比较哪个小就将元素数字加n又插入到队尾 3.当有队列为空时,循环结束 */ int n=

C语言数据结构总复习(划重点):栈、队列-爱代码爱编程

学习目标: 总复习数据结构:栈、队列 为备考划重点自用,不喜勿喷。 一、栈 1.栈是只允许在一端进行插入或删除操作的线性表。 二、队列 1.队列是只允许在表的一端进行插入,在另一端进行删除的线性表。 2.队列的顺序存储 typedef struct { elemtype data[maxsize]; int front,rear; }Q

python 使用gevent库即queue模块实现多协程异步爬取多个网站-爱代码爱编程

第一部分先导入所需模块及库 1.切记:一定要先从gevent库中导入monkey模块并调用monkey.patch_all()方法 不然程序返回值有问题哦! 2.然后再依次导入其他所需的库及模块 记录开始时间 并用列表将要爬取的所有URL记录下来 第二部分银行开门营业取号排队 1.创建一个排队对象 queue=Queue() 2.用for循环遍历放有U

Java LinkedList作为栈和队列的使用-爱代码爱编程

最近用java写一些算法时,经常遇到要使用栈和队列结构(比如树的各种遍历等等),使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现,用的多了自然就开始好奇它的各种操作具体是怎么实现的? 先下面分别从用法和源码角度简单记录下如何用LinkedList实现栈和队列 作为栈使用时,push是入

649. Dota2 参议院 ( 循环队列 (贪心思想))-爱代码爱编程

LeetCode: 649. Dota2 参议院 题目有点长 大意为: 有 R、D两个阵营的参议员, 然后他们都只有两个选择 禁止一名参议员的权利宣布胜利( 当剩下的议员都是同一阵营的问这个投票过程,能够获胜的是哪个阵营。 如果此时 r

【12月打卡~Leetcode每日一题】649. Dota2 参议院(难度:中等)-爱代码爱编程

649. Dota2 参议院 思路:循环队列模拟,当某一阵营人数为0截止 class Solution: def predictPartyVictory(self, senate: str) -> str: counter = collections.Counter(senate) r,d = counter

Springboot集成RabbitMq实现延时队列-爱代码爱编程

延时队列 什么是延迟队列:用来存放需要在指定时间被处理的元素的队列,延迟队列中的元素都是带时间属性(TTL)的 什么是TTL ?TTL是MQ中一个消息或者队列的属性,表明一条消息或者队列中所有消息或者队列的最大存活时间,单位是毫秒。如果一条消息设置了TTL属性,或者进入了设置TTL的队列,如果这条消息在TTL内的时间未被消费则该条消息则变成死信,如果配置

【Lintcode】1732. Snakes and Ladders-爱代码爱编程

题目地址: https://www.lintcode.com/problem/snakes-and-ladders/description 给定一个 N × N

Java阻塞队列-爱代码爱编程

Java中的阻塞队列 1.什么是阻塞队列 阻塞队列(BlockingQueue),就是支持阻塞插入和阻塞移除的队列。 1)阻塞插入:当队列满时,会阻塞插入元素的线程,知道队列不为满时。 2) 阻塞移除:当队列为空时,获取元素的线程会阻塞,等待队列变为非空。 2.运用场景 阻塞队列可用于生产者和消费者问题,生产者就是向队列里插入元素,而消费者就是从队

python 队列Queue之生产者消费者实例-爱代码爱编程

生产者每次生产一个产品 消费者每次消费两个产品  采用了FIFO模式 queue4 = queue.Queue() goods = 1 lock = threading.Lock() def Productor(name): '''生产者''' global goods while True: lock.acq

【Java-8-源码-1】LinkedList、Queue、Deque-爱代码爱编程

环境: java8 MacBook Pro (Retina, 15-inch, Mid 2015)IntelliJ IDEA 2020.1.1 LinkedList Structure 图: Queue介绍: 访问不删除(head)元素方法:peek/element 添加元素方法:offer/add 访问并删除(head)元素方法:poll/remov

407. 接雨水 II ( 优先队列思想 )-爱代码爱编程

LeetCode: 407. 接雨水 II 这道题有点意思。 维护周围一个圈,用堆来维护周围这一圈中的最小元素。为什么是维护最小的元素不是最大的元素呢,因为木桶原理呀。这个最小的元素从堆里弹出来,和它四个方向的元素去比较大小,看能不能往里灌水,怎么灌水呢,如果用方向就比较复杂了,我们可以用visited数组来表示哪些遍历过,哪些没遍历过。如果当前弹

springboot整合RabbitMQ的延时队列-爱代码爱编程

docker搭建RabbitMq服务 1.拉取镜像 docker pull rabbitmq:management 2. 运行镜像 docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -

Java笔记-ConcurrentLinkedQueue的基本使用和注意事项-爱代码爱编程

ConcurrentLinkedQueue这玩意用起来太方便了,这个的使用场景是在并发的时候使用。 这里提供一个几个简单的例子: @Override public void run() { try { if(queue == null || queue.size() == 0){ //

栈与队列-爱代码爱编程

用栈实现队列 方法一 一个栈用来放数据,一个栈用来取数据 push:O(1) pop:最好O(1),最坏O(n) class MyQueue { private Stack<Integer> stack1=new Stack<>(); private Stack<Integer> stack2=

从上到下打印二叉树-爱代码爱编程

从上到下打印二叉树 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7],   3 /   \ 9 20     /  \   15   7 返回: [3,9,20,15,7] public int[] levelOrder(TreeNode

vue+iview项目中全局loading效果-爱代码爱编程

这篇文章主要介绍了vue+iview项目中全局loading效果的配置问题。 问题描述 vue项目中如果出现了接口嵌套的状况,外层的接口完成后loading效果就消失了,导致页面在请求到内部接口时没有任何效果 问题分析 看了源码发现这个Spin组件销毁组件时延迟了500ms,所以嵌套的接口在内部接口开始调用Spin后马上就要执行销毁操作了。另一