算法笔记-数组类型 数组类型 数组类型题目一般可以考虑排序来帮助 相关题目两数之和123456789101112class Solution { //哈希表 public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); 2020-04-26 基础算法 > 刷题记录
算法笔记-回溯相关 回溯算法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有 2020-04-22 基础算法 > 刷题记录
计算机网络-TCP与UDP协议 背景 这篇文章的目的是为了彻底搞懂TCP/IP的一些相关内容,涉及三次握手、四次挥手、UDP和TCP的异同。 网络 计算机网络体系结构 本篇文章我们着重关注的就是运输层的TCP和UDP两种传输协议 第7层 应用层应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3 2020-03-09 操作系统 > 计网相关 #TCP/IP
算法笔记-排序算法 排序算法算法篇-排序算法 nlogn排序: 堆排序、快速排序、归并排序 初级排序 O(n^2) 选择排序(Select Sort)每次找最小值,然后放到待排序数组的起始位置。 插入排序(Insert Sort)从前到后逐步构建有序序列;对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 冒泡排序(Bubble Sort)嵌套循环,每次查看相邻的元素如果逆序,则交换。 2020-02-10 基础算法 > 刷题记录 #排序算法
Java篇-Tomcat容器中启动Netty服务器 背景关于在Tomcat容器中启动Netty服务器的方法 最近在一个web应用上重构一个即时通信功能的,考虑到负载和性能的原因,所以决定采用Netty来作为服务器端,但是如果在主线程中启动netty就会陷入阻塞状态,导致Tomcat无法启动. 实现思路 我们知道,netty在主线程启动会陷入阻塞,那么我们就可以开启一个新线程来启动netty服务器,让主线程启动Tomcat即可 相关代码123 2020-01-19 编程语言 > Java > 相关框架 #netty
算法笔记-字典树/前缀树 字典树型 定义字典树结构 1234class Tire { Tire[] Next = new Tire[2]; int Cnt;} 构造字典树 123456789private void add(int num) { Tire cur = root; for (int i = 0; i < 32; i++) { 2019-12-26 基础算法 > 刷题记录
算法笔记-双指针/窗口滑动 窗口滑动窗口滑动适用一些字符串、数组的题目 一般采用队列来解决问题 时间复杂度: T(n)=O(n) 算法框架12345678910111213141516171819202122232425262728293031//滑动窗口算法框架(从左向右)void sliding(string s) { int left = 0, right = 0;//左右指针 while 2019-11-19 基础算法 > 刷题记录 #窗口滑动
Hyperledger Caliper 性能测试工具配置 Caliper性能测试工具配置基本上都是根据官方doc进行操作,个别部分有坑。 官方doc 提前安装 nodejs、node-gyp、docker、docker-compose 代码下载git clone https://github.com/hyperledger/caliper.git 编译进入caliper代码根目录,执行以下命令:npm installnpm run repoclea 2019-09-20 区块链篇 #Hyperledger-Caliper
算法笔记-链表结构 链表结构 链表一般采用双指针(快慢指针)或者多个指针进行操作。 在使用过程中要注意通过使用一个dummy哑节点来存储头结点。 最主要要能真正理解指针,指针只是一个引用。 1234567ListNode dummy = new ListNode(-1);dummy.next = head;............return dummy.next 相关题目反转链表(easy)解题思路 迭 2019-08-19 基础算法 > 刷题记录 #链表
算法篇-排序算法 时间复杂度 稳定性:当序列中存在两个或两个以上的关键字相等的时候,如果排序前序列中1领先于2,那么排序后1如果仍旧领先2的话,则是稳定的。(相等的元素排序后相对位置不变) 不稳定性:当序列中存在两个或两个以上的关键字相等的时候,如果排序前序列中1领先于2,那么排序后1如果落后2的话,则是不稳定的。(相等的元素排序后相对位置发生改变) 时间复杂度:T(n)=O(f(n)) 渐进时间复杂度(asym 2019-07-25 基础算法 > 算法笔记 #算法