Guest User

Untitled

a guest
Mar 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. /*There are two sorted arrays nums1 and nums2 of size m and n respectively.
  2.  
  3. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
  4.  
  5. Example 1:
  6. nums1 = [1, 3]
  7. nums2 = [2]
  8.  
  9. The median is 2.0
  10. Example 2:
  11. nums1 = [1, 2]
  12. nums2 = [3, 4]
  13.  
  14. The median is (2 + 3)/2 = 2.5
  15. */
  16. var findMedianSortedArrays = function(nums1, nums2) {
  17. var totalLen = nums1.length + nums2.length
  18. var isEven = ((totalLen/2)%1 == 0)
  19. var idxToFill = (isEven) ? totalLen/2 : Math.floor(totalLen/2)
  20. var mergedArr = []
  21. var mergedIdx = 0
  22. var nums1Idx = 0
  23. var nums2Idx = 0
  24. while(mergedIdx <= idxToFill){
  25. var nums1OutOfRange = (nums1Idx >= nums1.length)
  26. var nums2OutOfRange = (nums2Idx >= nums2.length)
  27.  
  28. if(nums2OutOfRange || (nums1[nums1Idx] < nums2[nums2Idx])){
  29. mergedArr[mergedIdx] = nums1[nums1Idx]
  30. nums1Idx++
  31. }else{
  32. mergedArr[mergedIdx] = nums2[nums2Idx]
  33. nums2Idx++
  34. }
  35. mergedIdx++
  36. }
  37. return (isEven) ? ((mergedArr[mergedArr.length - 1] + mergedArr[mergedArr.length - 2])/2) : mergedArr[mergedArr.length - 1]
  38. };
  39.  
  40. findMedianSortedArrays([1,2],[3,4]) //2.5
Add Comment
Please, Sign In to add comment