SUMMER TRAINING Free Tutorials  Go To Your University  Placement Preparation 
Project Based Best Summer Training Courses in Jaipur
Join our Telegram Channel To take free Online Courses
0 like 0 dislike
96 views
in Coding Questions by Goeduhub's Expert (2.3k points)


Given an unsorted array nums, reorder it such that nums[0] < nums[1] > nums[2] < nums[3]....

Example 1:

Input: nums = [1, 5, 1, 1, 6, 4]
Output: One possible answer is [1, 4, 1, 5, 1, 6].

Example 2:

Input: nums = [1, 3, 2, 2, 3, 1]
Output: One possible answer is [2, 3, 1, 3, 1, 2].

Note:
You may assume all input has valid answer.

Follow Up:
Can you do it in O(n) time and/or in-place with O(1) extra space?

1 Answer

0 like 0 dislike
by Goeduhub's Expert (2.3k points)
 
Best answer
  • Just put sorted numbers in array
  • Put largest numbers in odd indexes first
  • Then put remaining numbers in even indexes
  • So even < odd > even

class Solution:

    def wiggleSort(self, nums: List[int]) -> None:

        """

        Do not return anything, modify nums in-place instead.

        [1,1,1,4,5,6]

        """

        arr = sorted(nums)

        for i in range(1, len(nums), 2): nums[i] = arr.pop() 

        for i in range(0, len(nums), 2): nums[i] = arr.pop()     

eg : ans = Solution()

ans.wiggleSort([1, 5, 1, 1, 6, 4])

Output - 

[1, 4, 1, 5, 1, 6]

Our Mentors(For AI-ML)


Sharda Godara Chaudhary

Mrs. Sharda Godara Chaudhary

An alumna of MNIT-Jaipur and ACCENTURE, Pune

NISHA (IIT BHU)

Ms. Nisha

An alumna of IIT-BHU

Related questions

0 like 0 dislike
1 answer 74 views
asked Sep 11, 2020 in Coding Questions by Vaibhav98 Goeduhub's Expert (2.3k points)
0 like 0 dislike
1 answer 75 views
asked Sep 14, 2020 in Coding Questions by Vaibhav98 Goeduhub's Expert (2.3k points)
0 like 0 dislike
1 answer 23 views
0 like 0 dislike
1 answer 52 views
asked Sep 14, 2020 in Coding Questions by Vaibhav98 Goeduhub's Expert (2.3k points)
0 like 0 dislike
1 answer 508 views
asked Sep 14, 2020 in Coding Questions by Vaibhav98 Goeduhub's Expert (2.3k points)

 Goeduhub:

About Us | Contact Us || Terms & Conditions | Privacy Policy || Youtube Channel || Telegram Channel © goeduhub.com Social::   |  | 
...