昨天陪同学在北大,发现百度在笔试招实习生,现场笔试。顺道也霸笔了一把。有这样一道小题,一个数组a, a[0,1....mid-1]是有序的,a[mid,.....num]也是有序的,现在要把这两部进行merge,如何在空间复杂度为0(1)的情况下进行合并,使得a整体有序。a[i]支持<运算。
下边是我的一个算法的实现:
public static void main(String[] args) {
int a[]={2,3,6,10,23,39 ,1,4,5,7,8,9,100 };
test(a,6);
}
public static void test(int a[],int mid){
int tmp;
int p;
for(int i=0;i<mid;i++){
p=mid;
if(a[p]<a[i]){
tmp=a[i];
a[i]=a[p];
a[p]=tmp;
for(int j=mid+1;j<a.length;j++){
if(a[j]<a[p]){
tmp=a[j];
a[j]=a[p];
a[p]=tmp;
p++;
}else{
break;
}
}
}
}
for(int k=0;k<a.length;k++){
System.out.println(a[k]);
}
}
这里的tmp是所谓的 空间复杂度,仅仅用到了一个中间变量。思路是:仅仅需要遍历前半部分,同时去比较后半部分的第一个元素,在比较的过程中,如果出现了有较小的值,就去互换,同时让后半部分保持有序。效率可能不是最好的。这个题目算是比较基础的。
分享到:
相关推荐
本文档总结了北京-百度计算机视觉算法工程师笔试的回忆版,涵盖了计算机视觉、算法设计、人工智能等方面的知识点。下面将对标题、描述、标签和部分内容进行详细解释和总结。 一、OSI七层模型 OSI七层模型是国际...
【百度笔试题】中的知识点主要涉及三个方面:编程题、算法题和系统设计。下面将分别对这三个方面进行详细的解析。 1. **编程题** 这道编程题要求编写一个函数`is_include(char *a, char *b)`,判断字符串`b`的所有...
《百度校招面试笔试题解析》 在求职竞争激烈的今天,各大互联网公司的招聘流程往往包含一系列严谨的面试和笔试环节,其中,百度作为中国互联网巨头之一,其招聘标准更是备受关注。本文将针对“百度校招面试笔试题”...
【标题解析】:“08百度笔试题(北京)”指的是2008年百度公司在北京市进行的一次技术笔试,主要针对系统开发工程师等职位。题目旨在考察应聘者的编程能力、算法理解和系统设计思维。 【描述解析】:16号的百度北京...
【标题】:“百度面试、笔试题全集”涵盖了百度公司在招聘过程中可能会遇到的各种技术与非技术类题目,旨在帮助应聘者全面了解并准备百度的面试和笔试环节。这个资源集合了众多历年的真实试题,是求职者提升自我能力...
【标题】:“百度度技术研发笔试题,好几个” 这个标题揭示了这是一个包含多个百度技术研发笔试题目的集合。在IT行业中,大型公司如百度通常会通过笔试环节来筛选技术人才,考察应聘者的编程能力、算法理解、计算机...
这篇文档是百度2014年校园招聘的数据挖掘笔试题目,旨在考察应聘者的理论基础、算法理解以及系统设计能力。 首先,我们来看简答题部分: 1. 静态数据库和动态数据库的优缺点: - 静态数据库:优点在于数据稳定,...
- 这是一道编程题,要求找到大于给定正整数的最小不重复数。可以通过遍历所有大于该数的整数,检查相邻数字是否不同来实现。 5. 字符串中寻找子串的能动性(Kinetic Energy): - 能动性可能是指子串出现的次数,...
本文档精选了100道程序员笔试算法题,其中一道经典题目是如何将二叉查找树转换为排序的双向链表。 #### 问题描述 给定一个二叉查找树(Binary Search Tree, BST),任务是将其转换为一个排序的双向链表(Doubly ...
在百度技术招聘的笔试题目中,我们可以看到三个主要的编程挑战,这些挑战涵盖了数据结构、算法优化以及大规模数据处理的设计。下面将详细讨论这三个题目所涉及的知识点。 首先,第一题要求设计一个栈结构,其提供了...
【深度学习算法研发...以上是对百度2014年深度学习算法研发工程师笔试题的解析,这些题目涵盖了深度学习的基础理论、数据结构与算法、并行计算等多个重要知识点,反映了企业在招聘此类工程师时对综合能力的高要求。
《2016年百度校园招聘笔试题精选》文档涵盖了计算机科学和技术的多个核心领域,包括数据库管理、操作系统原理和算法设计。以下是针对题目中涉及的知识点的详细解析: 一、简答题 1. **动态链接库 vs 静态链接库** ...
在百度的笔试中,通常会有涉及算法基础的问题,例如要求解释深度优先搜索和广度优先搜索的区别及其非递归实现的关键特征。这类问题旨在测试考生的基础知识掌握程度和问题解决能力。 笔试的其他题目也体现了实际应用...
本资源精心收录了多家知名企业(包括奇安信、贝壳找房、小米、游卡、vivo、阿里巴巴、爱奇艺、百度、猿辅导、中兴等)的C++方向笔试题,覆盖从2020年至2022年的秋招和校招题目。这些题目不仅考察了C++的基础知识,如...
3. **蚂蚁问题**:这是一道关于状态机和算法设计的问题。在Java中,可以使用并发编程的知识来模拟蚂蚁的行为,例如使用synchronized关键字或java.util.concurrent包下的工具类。 4. **数组奇偶排序**:这题要求O(1)...
1. **逻辑推理**:试题中提到的字母序列O,T,T,F的问题,这是一道逻辑推理题,考察的是对模式识别和规律分析的能力,通常在软件开发面试中会出现类似的逻辑思维测试。 2. **数学问题**:16个数字填入16格方框的问题...
这是一道来自百度公司的编程笔试题目。题目要求实现一个程序,能够在一个给定的字符串中找到所有连续的数字序列,并最终输出最长的连续数字串。 #### 题目分析 题目中的示例代码提供了一个基础的解决方案,但存在...
7. **算法与程序设计题**:这是一道关于查找字符串中最长连续数字子串的题目。题目要求不使用库函数,通过遍历字符串,判断当前字符是否为数字,并计算连续数字的长度,找到最长的数字子串。 8. **New Coke营销案例...