算法
白色彩虹
这个作者很懒,什么都没留下…
展开
-
堆排序学习心得
// 堆排序 #include<iostream> using namespace std; void swap(int arr[], int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } //建立大跟堆 先找到父节点进行比较...原创 2018-10-12 16:54:42 · 509 阅读 · 0 评论 -
荷兰国旗学习心得体会
荷兰国旗问题 使用的方法是归并排序算法,用c语言编写的 #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;time.h&amp;gt; void printArray(int * p); int* geneArray(void); int* sortArray(int *arr,原创 2018-10-25 15:07:25 · 112 阅读 · 0 评论 -
linux高并发模型
1.多进程并发模型 核心思想:一个服务器和多个客户端进行通信,每来一个客户端进行连接就创建一个进程,将接收到的文件描述符给对应的子进程,形成一对一的访问机制。当一个客户端关闭的时候,就退出子进程。 在这个过程中父进程扮演的角色是? 等待接受客户端的连接 有连接就创建一个子进程 将通信的文件描述符关闭 子进程扮演的角色? 进行与客户端的通信 关闭监听的文件描述符(减少资源的开销) 缺点: a...原创 2018-10-25 16:34:03 · 727 阅读 · 0 评论 -
无重复字符的最长子串
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3. For ...原创 2018-11-13 21:38:16 · 86 阅读 · 0 评论 -
LeetCode 829. Consecutive Numbers Sum
算法 (数学) O(n√)O(n) 对于一个正整数NN,如果能写成KK个连续正整数相加的形式,则有, N=(x+1)+(x+2)+…+(x+K) 进行整理得到: N=K∗x+(1+K)∗K/2 于是,N能够写成K个连续正整数相加的条件是,(N−K∗(K+1)2)(N−K∗(K+1)2)能够被KK整除 int consecutiveNumbersSum(int N) { int result = ...翻译 2019-04-19 21:08:59 · 135 阅读 · 0 评论 -
多路归并总结
23. Merge k Sorted Lists Example: Input: [ 1->4->5, 1->3->4, 2->6 ] Output: 1->1->2->3->4->4->5->6 思路 2.1. 方法一 在 合并两个有序链表 的基础上,我们很容易想到第一种解法,首先我们将第一个链表和第二个链表合并成一个新的链...原创 2019-05-06 17:19:34 · 1120 阅读 · 0 评论