目录:
1、题目及分析
1.1 题目
1.2 分析
1、题目及分析
1.1 题目:
Sort a linked list in O(n log n)
time using constant space complexity.
1.2 分析
O(n log n)的复杂度,所以不能采用冒泡等,这里采用合并排序算法,且为了不采用递归的方式,...
分类:
其他好文 时间:
2014-11-21 16:17:51
阅读次数:
138
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3574
题意:一个坐标系,给出x1、x2限定左右边界,有n条直线,告诉每条直线的k和b,问在x1、x2区间内空间被直线分割成几部分
思路:
这道题是比赛时做的,AC之后发现别人都是用归并排序求逆序对数来解的。
说我的解法吧,首先拿到题的时候发现是划分...
分类:
其他好文 时间:
2014-11-21 01:44:38
阅读次数:
390
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径
在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。
然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。
概要提示:
iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程...
分类:
移动开发 时间:
2014-11-20 20:24:51
阅读次数:
331
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执..
分类:
移动开发 时间:
2014-11-20 15:33:06
阅读次数:
368
A -Frosh WeekTime Limit:8000MSMemory Limit:0KB64bit IO Format:%lld & %lluSubmitStatusPracticeUVA 11858Appoint description:DescriptionProblem E: Frosh ...
分类:
编程语言 时间:
2014-11-19 15:53:49
阅读次数:
229
参考:白话经典算法系列之五 归并排序的实现 1 #include "stdafx.h" 2 3 //t[]在外部申请,以此避免在函数体内部反复申请数组的开销。 4 void merge_array(int a[], int left, int middle, int right, int t[])....
分类:
编程语言 时间:
2014-11-19 12:03:54
阅读次数:
244
题目:给你两个有序序列(每个序列中元素不同),求两序列中都出现的元素个数。
分析:简单题。合并排序合并过程。
设置两个指针,指向两序列当前元素,那个元素小指针向后移动,同样大则计数加一,同时后移。
说明:简单题。(⊙_⊙)
#include
#include
#include
#include
#include
#include
using names...
分类:
其他好文 时间:
2014-11-19 11:01:24
阅读次数:
188
Sort a linked list inO(nlogn) time using constant space complexity.O(nlogn),我们可以第一时间想到常用的二路归并排序,快速排序和堆排序,其中快排和堆排只适用于线性表,即数组,故这道编程题毫无疑问用二路归并排序;* 1. 利用一...
分类:
其他好文 时间:
2014-11-19 07:24:33
阅读次数:
225
6.6.2 自动泛型化(automatic generalization)
在这一章,我们已经实现了几个 F# 的高阶函数,也看到了在 F# 和 C# 中并排的实现。F# 实现的很重要方面,是我们根本不需要指定类型;这是由于有了自动泛型化(automatic generalization),它用在推断函数声明的类型。我们将用Option.bind 函数的实现作为示例,介绍这个过程是如何工作...
分类:
其他好文 时间:
2014-11-18 11:47:21
阅读次数:
223
【算法思路】时间复杂度限制在O(n log n),我们可以第一时间想到常用的二路归并排序,快速排序和堆排序,其中快排和堆排只适用于线性表,即数组,故这道编程题毫无疑问用二路归并排序;
【编程步骤】
* 1. 利用一个小技巧,可以设置慢行指针low和快行指针fast,把链表分成两部分来操作,即first和second链表
* 2. 递归排序first和second链表,即
first=sortList(head);
second=sortList(second);
* 3. 合并这两个链表,即:...
分类:
其他好文 时间:
2014-11-18 10:23:15
阅读次数:
185