`
wudikua123
  • 浏览: 63033 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

百度笔试算法题一道。

 
阅读更多
一个数组a[0-n-1],a[0-mid]和a[mid+1-n-1]是各自升序的,现在要把a[0-n-1]排成有序的。要求空间复杂度o(1),时间复杂度尽量低。

我想到的方法就是将后面序列的每个元素对前面序列进行插入排序。搜索插入位置的时候考虑从上一个插入元素位置之后开始搜索。
说明一下这个方法时间复杂度最坏应该是o(n^2),网上有o(n)解法。

#include <stdlib.h>
int insert(int* a, int begin, int end, int x){
	int pos = end;	//插入位置 
	int last = a[end];
	int exchange = 0;
	int i;
	//寻找插入位置 
	for(i = begin; i <= end; i++){
		if(a[i] > x){
			pos = i;
			exchange = 1;
			break;
		}
	}
	if(exchange){
		//移动元素 
		for(i = end; i > pos; i--){
			a[i] = a[i-1];
		}	
		a[end+1] = last;
		a[pos] = x;
	}else{
		pos = end+1;
	}
	return pos;
}

void print_r(int* a, int n){
	int i = 0;
	while(i<n){
		printf("%d\t",a[i++]);
	}
	printf("\n");
}

void merge(int* a, int n, int mid){
	int search_begin = 0;
	int i;
	for(i = mid; i < n; i++){
		search_begin = insert(a,search_begin, i, a[i+1]);	
	}
}

int main(){
	int a[10] = {
	1,2,3,7,9,0,4,10,18,20
	};
	int mid = 4;
	merge(a,10,mid);
	print_r(a,10);
	return 0;
}



分享到:
评论

相关推荐

    百度笔试题 百度 笔试题

    【百度笔试题】中的知识点主要涉及三个方面:编程题、算法题和系统设计。下面将分别对这三个方面进行详细的解析。 1. **编程题** 这道编程题要求编写一个函数`is_include(char *a, char *b)`,判断字符串`b`的所有...

    北京-百度计算机视觉算法工程师笔试-回忆版.pdf

    本文档总结了北京-百度计算机视觉算法工程师笔试的回忆版,涵盖了计算机视觉、算法设计、人工智能等方面的知识点。下面将对标题、描述、标签和部分内容进行详细解释和总结。 一、OSI七层模型 OSI七层模型是国际...

    08百度笔试题(北京)

    【标题解析】:“08百度笔试题(北京)”指的是2008年百度公司在北京市进行的一次技术笔试,主要针对系统开发工程师等职位。题目旨在考察应聘者的编程能力、算法理解和系统设计思维。 【描述解析】:16号的百度北京...

    程序员面试笔试算法题

    本文档精选了100道程序员笔试算法题,其中一道经典题目是如何将二叉查找树转换为排序的双向链表。 #### 问题描述 给定一个二叉查找树(Binary Search Tree, BST),任务是将其转换为一个排序的双向链表(Doubly ...

    百度校招面试笔试题

    例如,可能会有一道题目要求你在有限的时间内找到最短路径,这就需要用到Dijkstra算法或Floyd算法。此外,对于数据结构的理解和运用也至关重要,例如如何高效地查找、插入和删除数据,这就涉及到了二叉树、堆、哈希...

    百度面试、笔试题全集

    2. “笔试真题”可能包含历年的百度笔试题目,涵盖数学逻辑、编程能力、专业知识等多个方面,便于求职者进行模拟练习。 3. “技术面试指南”可能提供面试准备建议,包括技术领域重点、面试流程介绍、面试技巧等,...

    百度度技术研发笔试题,好几个

    【标题】:“百度度技术研发笔试题,好几个” 这个标题揭示了这是一个包含多个百度技术研发笔试题目的集合。在IT行业中,大型公司如百度通常会通过笔试环节来筛选技术人才,考察应聘者的编程能力、算法理解、计算机...

    百度2014校园招聘笔试试题-数据挖掘笔试题.doc

    这篇文档是百度2014年校园招聘的数据挖掘笔试题目,旨在考察应聘者的理论基础、算法理解以及系统设计能力。 首先,我们来看简答题部分: 1. 静态数据库和动态数据库的优缺点: - 静态数据库:优点在于数据稳定,...

    百度2014校园招聘笔试试题-深度学习算法研发工程师.doc

    【深度学习算法研发...以上是对百度2014年深度学习算法研发工程师笔试题的解析,这些题目涵盖了深度学习的基础理论、数据结构与算法、并行计算等多个重要知识点,反映了企业在招聘此类工程师时对综合能力的高要求。

    2014百度软件测试笔试题

    - 这是一道编程题,要求找到大于给定正整数的最小不重复数。可以通过遍历所有大于该数的整数,检查相邻数字是否不同来实现。 5. 字符串中寻找子串的能动性(Kinetic Energy): - 能动性可能是指子串出现的次数,...

    百度技术招聘笔试题目

    在百度技术招聘的笔试题目中,我们可以看到三个主要的编程挑战,这些挑战涵盖了数据结构、算法优化以及大规模数据处理的设计。下面将详细讨论这三个题目所涉及的知识点。 首先,第一题要求设计一个栈结构,其提供了...

    查找连续的字符串-百度笔试题

    ### 查找连续的字符串-百度笔试题 #### 题目背景与要求 这是一道来自百度公司的编程笔试题目。题目要求实现一个程序,能够在一个给定的字符串中找到所有连续的数字序列,并最终输出最长的连续数字串。 #### 题目...

    c++笔试题-多个大厂秋招笔试题库!

    本资源精心收录了多家知名企业(包括奇安信、贝壳找房、小米、游卡、vivo、阿里巴巴、爱奇艺、百度、猿辅导、中兴等)的C++方向笔试题,覆盖从2020年至2022年的秋招和校招题目。这些题目不仅考察了C++的基础知识,如...

    2016年百度校园招聘笔试题精选.docx

    《2016年百度校园招聘笔试题精选》文档涵盖了计算机科学和技术的多个核心领域,包括数据库管理、操作系统原理和算法设计。以下是针对题目中涉及的知识点的详细解析: 一、简答题 1. **动态链接库 vs 静态链接库** ...

    百度的求职之路,详细介绍了百度的笔试面试过程

    在笔试阶段,百度设置了较高难度的算法题目,这对求职者来说是一道不小的挑战。尽管我自认为在算法方面没有特别突出的优势,但我还是坚持参与了整个过程。笔试题中包含对深度优先搜索(DFS)和广度优先搜索(BFS)的...

    百度面试题大全

    7. **算法与程序设计题**:这是一道关于查找字符串中最长连续数字子串的题目。题目要求不使用库函数,通过遍历字符串,判断当前字符是否为数字,并计算连续数字的长度,找到最长的数字子串。 8. **New Coke营销案例...

    百度历年笔试面试150题.docx

    3. **蚂蚁问题**:这是一道关于状态机和算法设计的问题。在Java中,可以使用并发编程的知识来模拟蚂蚁的行为,例如使用synchronized关键字或java.util.concurrent包下的工具类。 4. **数组奇偶排序**:这题要求O(1)...

    各个大的IT公司笔试真题汇总,值得一看.doc

    IT公司的笔试是求职者在进入IT行业前必须跨越的一道门槛,这些公司的笔试题目往往涵盖了广泛的技术领域,旨在考察候选人的基础知识、编程能力、逻辑思维和问题解决技巧。以下是一些主要IT公司笔试题目的常见知识点:...

Global site tag (gtag.js) - Google Analytics