leetcode 每日一题 面试题 04.06. 后继者 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { boolean b = false;
定义set emptySet = set() mySet = {'a','b','c'} tuple, 与list类似,但是是immutable的 如果你将一个list添加到set,就会报错;但是如果你将tuple添加到set是ok的,因为tuple 不可改变因此它的hash值是固定的 alist = [1,2,3] myset = () myset.add(alist) ## 这个会报错 myse
队列 /** * 创建队列 */ class Queue { constructor() { // 队列当前索引 this.count = 0 // 队头索引 this.lowestCount = 0 // 存储队列 this.items = {} } /** * 入队 */ enqueue(element) { this.items[this.count] = element
线程池的基本思想:有一个异步任务队列,任何地方都可以往此队列中加任务,其中任务就是一个个待执行的函数,然后还有一个线程池,线程池中有一定数量的线程,线程池一经启动,每个运行的线程都会从这个异步队列中不断取出任务并执行! SyncQueue 1 #ifndef SYNCQUEUE_H 2 #define SYNCQUEUE
队列 队列又称为“先进先出”(FIFO)线性表限定插入操作只能在队尾进行,而删除操作只能在队首进行,Front对头指针指向第一元素;Rear队尾指针指向下一个入队的元素。队列也可以采用顺序存储结构或链表结构来实现,分别称为顺序队列和链队列空队列:front == rear; 顺序队列 用一组连续
QT中的QQueue 它的父类是QList,是个模板类 头文件: #include 常用用法(以int型为例): 复制代码 QQueue Q; //定义一个int型队列 Q.isEmpty(); //返回队列是否为空 Q.size(); //返回队列元素个数 Q.clear();
channel.queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String, Object> arguments) 1. queue: 队列的名称 ; 2. durable: 是否持久化 ; 当durable = false时,队列非持久化。因为队列是存放在内存中的,所以当RabbitMQ重启或者服务器重启时
原题传送门 1. 题目描述 2. Solution 1 1、思路分析 递归实现 1> 递归出口。遍历当前结点为空,返回0。 2> 递归分解。当前高度=max{左子树高度,右子树高度} +1。 2、代码实现 package Q0199.Q0104MaximumDepthofBinaryTree; import DataStructure.TreeNode; /* Depth first s
原题传送门 1. 题目描述 2. Solution 1 1、思路分析 迭代法,使用队列。 2、代码实现 package Q0199.Q0102BinaryTreeLevelOrderTraversal; import DataStructure.TreeNode; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class Solutio
vector 边长数组,倍增的思想。 string 字符串,substr(),返回子串,c_str(),返回字符串对应字符数组的头指针。 queue 队列,push(),插入元素,front(),返回队首的元素,pop(),把队首元素弹出。 priority_queue 优先队列,堆。 stack 栈 set,map,multiset,multimap 基于平衡二叉树实现,动态维护有序序列,
剑指 Offer 32 - I. 从上到下打印二叉树 难度:中等 方法一:层序遍历 BFS 题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。 BFS 通常借助队列的先入先出特性来实现。 算法流程: 特例处理:当树的根节点为空,则直接返回空列表 []; 初始化:打印结果列表 res = []
题目: LeetCode 743. 网络延迟时间。给定无负边图,求信号从某一源点散播到所有点的最短时间。 分析: 单源最短路问题,这里用Dijkstra算法实现。有几个注意点:优先队列调用的>需要用友元函数,参数为const xx&;优先队列波认为大根堆。另外这里选用链式前向星存图。 代码: const int MAXE
同步队列(SynchronizedQueue)存一个值必须先取出存入的值,才能继续存值,可以理解为容量为0的BlockingQueue。如果想存两个值,那就会一直等待阻塞。注意需要在线程中使用,普通方法使用时会发生阻塞 package com.luoKing.BlockingQueue; import java.util.concurrent.SynchronousQueue;
DeltaFIFO源码分析 介绍 我们已经知道 Reflector 中通过 ListAndWatch 获取到数据后传入到了本地的存储中,也就是 DeltaFIFO 中。从 DeltaFIFO 的名字可以看出它是一个 FIFO,也就是一个先进先出的队列,而 Delta 表示的是变化的资源对象存储,包含操作资源对象的类型和数据,Reflector 就
shell定时上传linux日志信息到hdfs 从标题可以分析出来,我们要使用到shell,还要推送日志信息到hdfs上。 定义出上传的路径和临时路径,并配置好上传的log日志信息。这里我使用了上一节配置的nginx的error.log #上传log日志文件的存放路径 /bigdata/logs/upload/log/ #上传log日志
Split,Formate,Aggergate,Service,Channel,Rounter,Processor,Queue 分割,格式化,聚集,服务,通道,路由,处理加工,队列 其实这三个理念的设计与现在大数据处理的模式的思想比较一致(Split,Formate,Aggergate,Service,Channel,Rounter,Processor,Queue) http://t.zoukankan.com/gstsyyb-p-3991938.
生产者消费者模式 生产消费对象 package com.sukai.concurrency.test; import java.util.Queue; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; public class factory<E> { private Queue<E> queue; private int m
转载 https://arthurchiao.art/blog/tuning-stack-tx-zh/ [译] Linux 网络栈监控和调优:发送数据(2017) 译者序 本文翻译自 2017 年的一篇英文博客 Monitoring and Tuning the Linux Networking Stack: Sending Data。如果能看懂英文,建议阅读原文,或者和本文对照看。 这篇文
概要 在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HTTP 429(Too Many Requests) 然后就会有一段时间的禁止访问. 为了应对这种限速的情况, 通过一个简单的请求队列来控制访问的速度, 之后基本没遇
recv端:192.168.172.128 send端:192.168.172.128 rabbitmq:192.168.172.129 代码开始... consumer端: #!/usr/bin/env python # _*_ coding:utf-8 _*_ import pika connection = pika.BlockingConnection(pika.ConnectionParameters(host='192.168.174.129',port=5672,
参考博客:(17条消息) C++ STL常用函数总结__dingzhen的博客-CSDN博客_c++ stl常用函数 1.倒置,去重 reverse(起始地址, 末尾地址 ); unique(起始地址, 末尾地址, fun); //不断的将后面不重复的元素覆盖前面重复的元素,最后返回最后一个不重复的元素的地址。
354. 俄罗斯套娃信封问题 给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算 最多能有多少个 信封能组成一组
思路:在二叉树的层序遍历基础上加一个校验位,通过校验位来判断此层需要正序添加还是逆序添加。 Python: class Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: res=[] if not root: return res queue=[] que
1、消息列队概述 1.1消息队列MQ MQ全称为Messages Queue ,消息队列是应用程序和应用程序之间的通信方法 为什么使用MQ? 在项目中,可将一些无需耗时的操作提取出来,进行异步操作,而这种异步处理方式大大的姐生了服务器的请求响应时间,从而提高了系统的吞吐量。 开发中消息列队通常有以
udp传输本身是不可靠的,要做到可靠性传输,需要参考tcp的原理在用户层进行修改,所以在可靠性设计之前,需要弄明白tcp传输的一些原理。 tcp可靠性传输 tcp传输有一些机制可以保证可靠性传输: 1、ack机制,对方收到消息后会回应ack,当然有几种回应的方式,第一种就是收到一条回复一条,发送方需要