int main() {
    Solution s;
    vector<int> nums1({1});
    vector<int> nums2({1, 1});
    cout << s.intersect(nums1, nums2) << endl;

    return 0;
}
void MedianOfTwoSortedArrays::TestClass()
{
	int Array1[1]={};
	int Array2[2]={2,3};
	vector<int> nums1(Array1,Array1);
	vector<int> nums2(Array2,Array2+2);
	double res=findMedianSortedArrays(nums1,nums2);
	cout<<"median="<<res<<endl;
}
示例#3
0
    int rob(vector<int>& nums) {
		if (0 == nums.size()) {
			return 0;
		}
		if (1 == nums.size()) {
			return nums[0];
		}
        vector<int> nums1(nums.begin() + 1, nums.end());
		nums.pop_back();
		return max(rob1(nums), rob1(nums1));
    }
示例#4
0
int main(){
	int arr[] = {};
	int arr2[] = {1,2,3,4,5};
	vector<int>nums1( arr, arr + sizeof(arr) /sizeof(int));
	nums1.push_back(0);
	nums1.push_back(0);
	nums1.push_back(0);
	nums1.push_back(0);
	nums1.push_back(0);
	vector<int>nums2( arr2, arr2 + sizeof(arr2) /sizeof(int));
	merge(nums1, 0, nums2, 5);
	printVector(nums1);
	return 0;
}
示例#5
0
int main(){
    vector<vector<int> > grid;
	int arr[] = {3,5,1,2,4};
	vector<int> nums( arr, arr+ sizeof(arr)/sizeof(int));
    grid.push_back(nums);

    int arr1[] = {3,5,1,2,4};
    vector<int> nums1( arr1, arr1+ sizeof(arr1)/sizeof(int));
    grid.push_back(nums1);

    int arr2[] = {3,5,1,2,4};
    vector<int> nums2( arr2, arr2+ sizeof(arr2)/sizeof(int));
    grid.push_back(nums2);

	cout<< minPathSum(grid)<<endl;
	return 0;
}
示例#6
0
	string multiply(string num1, string num2) {
		int n = num1.size();
		int m = num2.size();
		string ret(n + m, '0');
		vector<int> nums1(n);
		vector<int> nums2(m);
		vector<int> nums3(m + n, 0);;
		for (int i = 0; i < n; i++)nums1[i] = num1[n - i - 1] - '0';
		for (int i = 0; i < m; i++)nums2[i] = num2[m - i - 1] - '0';
		for (int i = 0; i < num1.size(); i++)
			for (int j = 0; j < num2.size(); j++) {
				nums3[i + j] += nums1[i] * nums2[j];
				nums3[i + j + 1] += nums3[i + j] / 10;
				nums3[i + j] %= 10;
			}
		for (int i = 0; i<n + m; i++) ret[i] += nums3[i];
		int index = ret.size();
		while (index>1 && ret[--index] == '0') ret.pop_back();
		reverse(ret.begin(), ret.end());

		return ret;
	}
    int rob(vector<int>& nums) {
      //rob houses from 0 to n-2 and from 1 to n-1
      //the max of these two is the answer
      int size = nums.size();
      if (size == 0){
        return 0;
      }
      if (size == 1) {
        return nums[0];
      }
      vector<int> nums1(size-1,0);
      vector<int> nums2(size-1,0);

      for (int i = 0; i<size-1; i++) {
        nums1[i] = nums[i];
      }
      int j=0;
      for (int i=1;i<size;i++) {
        nums2[j++] = nums[i];
      }
      int rob1 = rob_new(nums1);
      int rob2 = rob_new(nums2);
      return max(rob1,rob2);
    }