Given two sorted integer arrays A and B, merge B into A as one sorted array.
Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from ...
分类:
编程语言 时间:
2015-04-08 15:04:58
阅读次数:
152
void merge(int srcarray[],int temparray[],int startindex,int midindex,int endindex)
{
int i = startindex,j = midindex + 1,k = startindex;
while (i <= midindex && j <= endindex)
{
i...
分类:
编程语言 时间:
2015-04-07 00:45:36
阅读次数:
172
前几天参加了阿里的在线笔试,报的职位是算法工程师,笔试感觉难度适中,选择题包含数据结构、离散数学、小的智力问题还有一些读程序选结果的题目。其中数据结构和排列组合最多。当时比较慌乱,没做记录。只记下了三个附加题。
第一题很简单。要求实现一个方法,在两个排好序(升序)的整型数组中找到中位数。传入4个参数,分别是两个数组和他们的大小。这个题目既然简单就要写的高效一些。我用的归并排序的思想,将两个数组合...
分类:
编程语言 时间:
2015-04-06 15:48:26
阅读次数:
304
1 #include 2 #include 3 4 int a[10000],b[10000],n; 5 6 7 void Merge(int left,int mid,int right) 8 { 9 int l=left,m=mid,k=left;10 while(l...
分类:
编程语言 时间:
2015-04-06 15:40:55
阅读次数:
166
#include #include#includeusing namespace std;//智二//交换数组中两个元素的位置void swap(int left, int right, int sort[]){ int temp; temp = sort[left]; sort...
分类:
编程语言 时间:
2015-04-05 20:11:23
阅读次数:
120
插入排序和归并排序是算法导论先讲到的两中排序方法。 插入排序的思路是对于一个已经排好序的数组,现在新插入一个元素并且保持其有序。那么该如何插入呢,从数组最后一个元素开始进行比较,直到遇到比小于等于自己的元素,然后插入到该元素的后面(所以插入是稳定的)。循环不变式:子数组一直保持有序(使用循环不变式....
分类:
编程语言 时间:
2015-04-05 17:22:07
阅读次数:
192
描述在上一回、上上回以及上上上回里我们知道Nettle在玩《艦これ》。经过了一番苦战之后,Nettle又获得了的很多很多的船。这一天Nettle在检查自己的舰队列表:我们可以看到,船默认排序是以等级为参数。但实际上一个船的火力值和等级的关系并不大,所以会存在A船比B船等级高,但是A船火力却低于B船这...
分类:
编程语言 时间:
2015-04-04 16:44:15
阅读次数:
190
我们知道,求逆序对最典型的方法就是树状数组,但是还有一种方法就是Merge_sort(),即归并排序。实际上归并排序的交换次数就是这个数组的逆序对个数,为什么呢?我们可以这样考虑:归并排序是将数列a[l,h]分成两半a[l,mid]和a[mid+1,h]分别进行归并排序,然后再将这两半合并起来。在合...
分类:
编程语言 时间:
2015-04-04 11:52:14
阅读次数:
194
K-th Number题意:给定一个包含n个不同数的数列a1, a2, ..., an 和m个三元组表示的查询。对于每个查询(i, j, k), 输出ai, ai+1, ... ,aj的升序排列中第k个数 。题解:用线段树,每个节点维护一个区间...
分类:
其他好文 时间:
2015-04-03 23:48:11
阅读次数:
209
1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int high[100010]; 7 int temp[100010]; 8 int angry[100010]; 9 int num;10 void...
分类:
编程语言 时间:
2015-04-03 23:45:54
阅读次数:
286