logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

leetcode || 96、Unique Binary Search Trees

problem:Given n, how many structurally unique BST's (binary search trees) that store values 1...n?For example,Given n = 3, there are a total of 5 unique BST's.133

#leetcode
[C++设计模式] command 命令模式

在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pattern)。在OOP中,一切都是对象,将请求封装成对象,符合OOP的设计思想,当将客户的单

#设计模式#c++#命令模式
为什么设计模式在C++社区没有Java社区流行?

我们发现设计模式在Java社区很流行,但是在C++社区却没有那么被关注,甚至有点被排斥,究竟是什么原因造成这个差异的呢?  (1)C++内存需要自己管理,所以有些模式在C++里使用不是那么方便,但是Java不用关心内存,所以在Java里的使用设计模式有天生的优势。随着shared_ptr, weak_ptr, unique_ptr等加入C++11,相信这方面会有所改进。   (2)在J

#设计模式#c++#java
leetcode ||66、 Plus One

problem:Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the head of the list.

#leetcode#算法
求和问题总结(leetcode 2Sum, 3Sum, 4Sum, K Sum)

(一)前言做过leetcode的人都知道, 里面有2sum, 3sum(closest), 4sum等问题, 这些也是面试里面经典的问题, 考察是否能够合理利用排序这个性质, 一步一步得到高效的算法. 经过总结, 本人觉得这些问题都可以使用一个通用的K sum求和问题加以概括消化, 这里我们先直接给出K Sum的问题描述和算法(递归解法), 然后将这个一般性的方法套用到具体的K, 比如leet

#leetcode
QT容器类(三) 之 QMap、QHash

QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMapQHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序住址他的数据,,当然了他也是可以支持一键多值的,QMultiHash

快速选择(quick_select) 算法分析

快速选择算法,就是从给定的一个集合S={a1,a2,...an}中选出第K个大小的数,或者给出其所在的下标之类的。如果使用排序,比如merge_sort,然后返回第K个元素的下标,复杂度是O(NlogN)如果使用heap_sort,或者优先队列,则复杂度是O(NlogK)如果使用quick _sort的一个变种,叫 quick select,则平均复杂度为O(N),最坏复杂

到底了