问题:两个有序数组a和b,合并成一个有序数组c. // 合并两个有序数组a和b到c void Merge_Array(int a[], int n, int b[], int m, int c[]) { int i, j, k; i = j = k = ; while(i < n && j < m) { if(a[i] < b[j]) c[k++] = a[i++]; else c[k++] = b[j++]; } while(i < n) c[k++] = a[i
1.x的平方根 java (1)直接使用函数 class Solution { public int mySqrt(int x) { int rs = 0; rs = (int)Math.sqrt(x); return rs; } } (2)二分法 对于一个非负数n,它的平方根不会小于大于(n/2+1). 在[0, n/2+1]这个范围内可以进行二分搜索,求出n的平方根. class Solution { public int mySqrt(int x) { long left=1,right=
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2.The number of elements initi
转自:http://blog.csdn.net/laozhaokun/article/details/37531247 题目:有两个有序数组a,b,现需要将其合并成一个新的有序数组. 简单的思路就是先放到一个新的数组中,再排序.但是这样的没体现任何算法,这里考的不是快速排序等排序算法.关键应该是如何利用有序已知这个条件.可以这样想,假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段就可以直接拿来放入到新数组中去了. public class
合并两个有序的list 把排序好的nums2插入nums1中,假设nums1这个vector的空间永远是够的 思路:倒序!! class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { , i2 = n - , k = m + n - ; //完成的最终长度为m+n,末尾的index是m+n-1 && i2>=){ //倒