- 博客(16)
- 资源 (3)
- 问答 (5)
- 收藏
- 关注
原创 快速排序的最优和最差比较次数
这个问题其实也没有多么复杂,但是网上这部分内容不多,故总结一下最优与最差比较次数。n个元素线性表快速排序,最好情况下比较次数是多少?参照严书的方法,以第一位作为标杆。①考虑第一趟排序,无论怎样也要有n-1次比较次数;②如果此时能把数据分成两部分,前一部分与后一部分元素个数相近,那样就是最优的。 例如,4 1 2 3 5 6 7,经过一趟排序,变成 1 2 3 4 5 6
2017-09-28 00:03:28 39592 8
原创 记录一次不错架构设计
文章目录前言记录一次架构设计总体架构图前言工作快2年了,平时CURD特别忙,最近看了一些八股,发现落后了很多,现在的同学们都太强了。之前活水wxg挂了,太菜……这次记录一下一个业务上一个优秀的架构设计。记录一次架构设计总体架构图背景是,展示一个关注歌手的歌单列表,按照发布时间降序排列。关注歌手,其实就是你这个uid关注的其他的uid,每个歌手发伴奏,就是他们发feed。然后要按照时间戳降序,在你的页面展示所有的伴奏。(比如说微信朋友圈好友,发了一个朋友圈,你这边能看到,还是按照发布时间降
2022-04-24 11:31:43 287
原创 并查集
//并查集class DSU {public: DSU(int n): parent(n) { //构造函数 for (int i = 0 ; i < n; ++i) parent[i] = i; } void Union(int i, int j) { //将i所在的集合与j所在的集合合并...
2019-09-01 14:13:57 183
原创 霍夫曼的应用--leetcode 1167
https://leetcode.com/problems/minimum-cost-to-connect-sticks/思路,将两个短的求和,然后放入数列中;再取两个短的;因此是霍夫曼树。使用优先级队列即可:class Solution {public: int connectSticks(vector<int>& sticks) { ...
2019-08-25 02:15:50 842
原创 力扣双周赛--最小生成树的应用
https://leetcode-cn.com/contest/biweekly-contest-7/problems/optimize-water-distribution-in-a-village/这个题目可以转化为最小生成树。构建虚拟结点0,并且将所有结点与之联系,长度为wi,如下:然后对改图求最小生成树,即可求得最小cost。struct Edge{ int ...
2019-08-25 01:15:43 739 1
原创 leetcode-322 零钱兑换--完全背包问题
原题地址:https://leetcode.com/problems/coin-change/这个题目可以用dfs来写,但是很容易超时,需要剪枝。dp中有经典的背包九讲,而此题目正好是一种完全背包的模型。首先看完全背包模型:有 N 种物品和一个容量为 V 的背包,每种物品都有无限件可用。放入第 i 种物品 的费用是 Ci,价值是 Wi。求解:将哪些物品装入背包,可使这些物品的耗费的...
2019-08-09 12:00:56 1010 2
原创 Best Time to Buy and Sell Stock IV-买卖股票问题
leetcode原题地址:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/REFERENCE:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/discuss/135704/Detail-explanation-of-DP-so...
2019-05-14 01:14:49 210
原创 word2vec怎么得到词向量?
word2vec有两种模型,CBOW和Skip-gram;前者是通过context(w)[即词w的上下文]的词向量获得w最可能的词(w为各个词的概率,就能得到最可能的词),后者是相反的,通过w获得上下文context(w)。简单理解即为如下两幅图[1]:对于CBOW模型,输入的即为词向量,但是词向量怎么来的?实际上,前面还有一层,如下图[2]:前一层输入的是每个单词的o...
2019-05-09 05:46:42 1335
原创 KMP算法
题目描述:两个字符串s1和s2,实现一个算法,如果s1含有子串s2,则返回s2在s1的开始位置,否则返回-1。KMP算法解决了字符串匹配问题。时间复杂度O(N),其中N为s1的长度。KMP算法还有诸多应用。首先是next数组,next[j] 表示当前字符s[j]前面,最长相同的前缀后缀长度。举个例子:ababc,c前面为abab,最长相同前缀后缀长度是2,即ab。再如:ababac...
2019-04-27 23:38:29 198
原创 leetcode 124. Binary Tree Maximum Path Sum
地址:https://leetcode.com/problems/binary-tree-maximum-path-sum/Given anon-emptybinary tree, find the maximum path sum.For this problem, a path is defined as any sequence of nodes from some starti...
2019-04-07 02:50:58 146
原创 TCP为什么要三次握手,握手结束后第一次发送数据的ACKnum是多少?
TCP为什么要三次握手?TCP三次握手过程,简单来讲如下:1.客户端发起第一次握手(SYN=1, seq=x)2.服务器端发起第二次握手(SYN=1, seq=y, ACKnum=x+1)3.客户端发起第三次握手(ACKnum=y+1)但为什么要三次握手,而不是两次或者四次?根本原因就是双方要协商好初始的 seq。TCP确认哪个包重传,解决包乱序,都是通过seq实现。因...
2019-04-06 01:13:21 3245
原创 快速排序(Quick Sort) 归并排序(Merge Sort) 堆排序(HeapSort) C++实现及时间空间复杂度
//QuickSortint partition(vector<int>& A,int low,int high){ int pivot=A[low]; while(low<high){ while(low<high && A[high]>=pivot) high--; A[low]=A...
2019-03-17 14:07:16 547
原创 利用百度AI文字识别实现网页游戏火影忍者OL自动定向劫镖功能(python)
介绍:所谓定向劫镖,即劫特定玩家的镖。游戏里要求每个区的每个角色的名字是唯一的,因此可以通过玩家游戏名称实现定向劫镖。经过观察可以发现游戏的劫镖功能有以下特点:①进入劫镖界面后,所有押镖的玩家将出现在特定的位置,是一个列表形式。②可以获取界面坐标,并获取每个列表的截图,调用适当的库即可将图中文字识别出来。③游戏名带有区号,这个可以很大提高劫镖准确率。思路:①获取劫镖界面的坐标,并由此获得所有押镖玩...
2018-07-06 16:17:22 1266
原创 C++ map遍历,map排序--- PAT B1080 MOOC成绩
题目链接:https://www.patest.cn/contests/pat-b-practise/1080在B1044讲过map的简单应用,此题目主要用到了map的遍历、map的排序(可以对Value排序)。map的key值可以是任意类型,遍历时需要用到迭代器。比如:map<string,Student> stu; //定义一个map,包含string的学号和Student结构体...
2018-02-09 16:39:21 1025 1
原创 C++ map简单应用、进制转换打表法---PAT B1044火星数字
题目链接:https://www.patest.cn/contests/pat-b-practise/1044该题目涉及到转换,可采用“打表法”,将所有结果都存入表格,需要转换时自取就可。由于“火星文”是英文字母,打表时候考虑使用map,将会变得简单可行。map可以看成下标是指定类型的数组,一般通过一个下标(整型)找到一个string型,利用string数组可以很方便;如果利用stri
2018-02-07 19:47:53 492
原创 PAT--A1038贪心算法
地址:https://www.patest.cn/contests/pat-a-practise/1038数字串排成最小,初看可以很轻易想到,只要将数字串从高位到低位每位比较,小的放前面即可。但是,例子中出现32、321、3214这三个数的排列。首先想到的是,将它们重复的部分补上,即后面均补上"32",此时,三个数变为3232、32132、321432,从高位依次比较很容易得到结果。这样想
2018-02-01 17:27:58 501
commons-httpclient.jar,commons-codec.jar,commons-logging.jar
2016-12-28
关于Win32汇编中调用crt_printf输入输出的问题
2016-12-22
VS2015支持C/C++新标准的哪些特性?
2016-09-17
汇编初学,简单C语言翻译为汇编语言
2016-09-15
汇编初学。求问很简单的汇编问题
2016-09-13
android开发中求问简单的xml布局~
2016-08-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人