题目意思:给出两个排好序的数组 ,不妨设为a,b都按升序排列,及k的值,求出第k大的那个元素。 分析这个题目,如果题目没有时间复杂度的要求,我们可以定义两个指针i,j分别指向a,b,如果a[i]<b[j]则i++否则 j++,这个记录下走了多少步,如果==k步,则找到了第k大的元素 ...
已知一个拍好序的数组,长度为M 在其中找两个数,其和为N 刚刚拿到这个题目的时候,首先的常规想法是遍历循环求出所有数的和,最终其值为N的就是结果,这个算法时间复杂度为o N N 可能还有一些扩展的想法,那就是先把数组中比N大的元素去掉,这样少检查几个元素 这是典型的程序员思维,太早开始考虑实现细节了 作为一个算法题目首先要把算法复杂度降低下来,然后再考虑常数C。。。不要太早开始考虑这种相对不重要的 ...
2011-12-23 22:34 6 2637 推荐指数:
题目意思:给出两个排好序的数组 ,不妨设为a,b都按升序排列,及k的值,求出第k大的那个元素。 分析这个题目,如果题目没有时间复杂度的要求,我们可以定义两个指针i,j分别指向a,b,如果a[i]<b[j]则i++否则 j++,这个记录下走了多少步,如果==k步,则找到了第k大的元素 ...
import java.util.Scanner; public class InsertNum { public static void main(String[] args) { // 思路:创建2个数组,把第一个数组的元素遍历到第二个数组中,然后把要插入的元素与数组 ...
有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中 【答案解析】 将数据插入到已排序的序列中,只需两步即可: 找待插入元素在数组中的插入位置 插入元素 具体如下: 注意:极端情况下,end可能会被减为-1,比如在上述序列中插入0 【代码实现 ...
有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中 【答案解析】 将数据插入到已排序的序列中,只需两步即可: 找待插入元素在数组中的插入位置 插入元素 具体如下: 注意:极端情况下,end可能会被减为-1,比如在上述序列中插入0 【代码实现 ...
问题1、输入一个递增排序数组和一个数字s,在数组中查找两个数,使得它们的和正好是s,如果有多对数字的和等于s,输出任意一对即可。 显然,很快能想到的是使用蛮力法(O(n2)),先固定一个数字,再判断剩下的n-1个数字与它的和是否等于s。这种效率显然有点低,我们可以使用下面比较快的方式 ...
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 思路:根据要插入的数的大小来判断应该插入的位置 设计变量:n -- 待插入的数 index -- 插入的位置 b[] -- 新的数组 ...
有一个已经排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中 【答案解析】 将数据插入到已排序的序列中,只需两步即可: 找待插入元素在数组中的插入位置 插入元素 具体如下: 注意:极端情况下,end可能会被减为-1,比如在上述序列中插入0 【代码实现 ...