kolbka_

Untitled

Mar 7th, 2022 (edited)
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1.  
  2. #include <unordered_map>
  3. #include <string>
  4. #include <vector>
  5. #include <iostream>
  6. #include <set>
  7. #include <queue>
  8. #include "optimization.h"
  9. using namespace std;
  10.  
  11.  
  12. class Solution {
  13. public:
  14.  
  15. public:
  16. static void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
  17. int i = m-1;
  18. int j =n-1;
  19. while (j >=0 && i >= 0){
  20. // cout << nums1[i] << ' ' << nums2[j] << ' ' << i + j +1 << '\n';
  21. if (nums1[i] > nums2[j]){//put greater at last
  22. // int k = i + j + 1; // работает правильно, если раскоментировать
  23. // nums1[k] = nums1[i--]; // это тоже раскоментировать
  24.  
  25. nums1[i+j+1] = nums1[i--]; // а это закомментировать
  26. }
  27. else{
  28. int k = i + j + 1;
  29. // cout << i << ' ' << j << k << '\n';
  30. nums1[k] = nums2[j--];
  31. }
  32. }
  33. while(j >= 0){
  34. nums1[j] = nums2[j--];
  35. }
  36.  
  37. }};
  38.  
  39.  
  40.  
  41.  
  42. int main(){
  43. vector<int> a = {1,2,3,0,0,0};
  44. vector<int>b = {2,5,6};
  45. Solution::merge(a, 3, b, 3);
  46. for (int i = 0; i < a.size(); i++){
  47. cout << a[i] << ' ';
  48. }
  49. }
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
Add Comment
Please, Sign In to add comment