Remove Duplicate Elements from Unsorted Array - Java Code

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2018
  • Write a java program to remove duplicate elements from an unsorted array. In this tutorial, I have explained three approaches to solve this problem.
    Reverse String - • Reverse a String in Ja...
    Code Link: webrewrite.com/remove-duplica...
    Binary Search Video Tutorial - • Binary Search | LeetCo...
    Find second smallest number in an array without sorting - • Find Second Smallest N...
    Remove duplicate from sorted linked list - • Remove Duplicates from...
    Cracking the coding interview - amzn.to/3h70jXy
    Data structure and algorithms made easy - amzn.to/3jgMl7U
    LeetCode May Challenge PlayList - • First Bad Version | Fi...
    LeetCode April Challenge PlayList - • Move Zeroes LeetCode |...
    Paypal - www.paypal.me/programmingtuto...
    Website - webrewrite.com/
    Code Link: webrewrite.com/remove-duplica...

ความคิดเห็น • 57

  • @sureshnaidu3519
    @sureshnaidu3519 4 ปีที่แล้ว +8

    Very nice approach and explained very well. Subscribed. Thank you

  • @chrisw9597
    @chrisw9597 4 ปีที่แล้ว +7

    These videos are a godsend. I don't normally comment, but you deserve my appraisal. Thank you!

  • @jeetamitshah6194
    @jeetamitshah6194 2 ปีที่แล้ว +6

    In the first approach, what about the remaining 2 positions in the array? You left them empty. The original array is of length 7 and new array with only unique elements has a length of 5, so what about the remaining 2 positions in the array? Java doesn't allow dynamic arrays so the length of the array is not changing .

  • @RajeevKumar-gk1qo
    @RajeevKumar-gk1qo 3 ปีที่แล้ว +2

    Explained very well. You are great.

  • @ranadheersannihith2362
    @ranadheersannihith2362 4 ปีที่แล้ว +4

    In the first approach, every time the last element is getting added arr[j++]=arr[len-1], then if the last element is 5 and not 6 then 5 will again be added at the end and the output could be 1,2,4,5,5.

    • @ProgrammingTutorials1M
      @ProgrammingTutorials1M  4 ปีที่แล้ว

      Hi Ranadheer, You missed that condition
      if (arr[i] != arr[i + 1]) {
      arr[j++] = arr[i];
      }
      In this condition, Second last element is already compared with last element. So, in that case second last element won't be added. You can run the code and check the output.

    • @ranadheersannihith2362
      @ranadheersannihith2362 4 ปีที่แล้ว

      @@ProgrammingTutorials1M I am not talking about second last. Consider 5 as the last element and there is no 6. Then last element 5 has to be added to our output and our output would be 1,2,4,5 and 5.

    • @bharathkoneru4008
      @bharathkoneru4008 3 ปีที่แล้ว +1

      @@ranadheersannihith2362 no man, you got it wrong.
      arr = {1,2,4,4,5,5,5}
      5 ! =5 is not satisfied till last element, so 5 will not be added to the array on iteration using for loop.
      {1,2,4}
      5 only gets added when we add manually last element of array.
      arr = {1,2,4,5}

  • @maheshkumarb7729
    @maheshkumarb7729 2 ปีที่แล้ว +4

    Hi All,
    I tried for this input -> int[] arr = {4,2,1,5,5,6,7,8,8,9};
    Its removing the duplicate values but was not printing the last value i.e., 9 in this example.
    We need to use --> for (int i=0; i for (int i=0; i

    • @marcos.a8814
      @marcos.a8814 ปีที่แล้ว

      Thank you so much!! for hashing and set the -1 must be removed, only keep it for the first code, which is great because I don't really understand why it needs to be -1

  • @SaiTeja-ym2er
    @SaiTeja-ym2er 2 ปีที่แล้ว +1

    Very Good explanation.Thanks

  • @Rahul39920
    @Rahul39920 2 ปีที่แล้ว

    With this approach the problem is with line no: 74. This will throw ArrayIndexOutOfBoundsException when the size of the array is 0. And it adds extra burden to handle last element of Array. We can certainly improve this.

  • @shreyaroy4773
    @shreyaroy4773 3 ปีที่แล้ว +2

    Awesome approach sir! Searched a lot then found this video! Can you please say how to implement the 2nd and 3rd approaches in C++?

  • @sakhi_dikshit
    @sakhi_dikshit 3 ปีที่แล้ว

    Thank you so much😇😇 please upload more videos 🙏

  • @explorelife2418
    @explorelife2418 5 ปีที่แล้ว

    The code is amazing. Thank you so much. Subscribed 😊😊
    Can you please tell how to find the non repeating elements in the array? i.e the elements which occur only once.

    • @ProgrammingTutorials1M
      @ProgrammingTutorials1M  5 ปีที่แล้ว

      Thanks for your comment. Here is the video link : th-cam.com/video/vx_snk6RQl0/w-d-xo.html

  • @7smessi803
    @7smessi803 10 หลายเดือนก่อน

    Awesome approch brother'❤️❤️❤️

  • @ProgrammingTutorials1M
    @ProgrammingTutorials1M  5 ปีที่แล้ว

    Code link is present in the description box

  • @swapniljadhav5461
    @swapniljadhav5461 5 ปีที่แล้ว

    Good approaches. Is it possible to remove duplicates from unsorted array without using any collection. For example in O(1) or O(log n) space complexity

    • @ProgrammingTutorials1M
      @ProgrammingTutorials1M  5 ปีที่แล้ว

      Hi Swapnil, O(1) and O(logn) might not be possible for unsorted array. You need to traverse complete array to figure out the duplicates.

  • @sakhi_dikshit
    @sakhi_dikshit 3 ปีที่แล้ว

    Please make video on hackerrank problems.

  • @mohdamirquadri5796
    @mohdamirquadri5796 3 ปีที่แล้ว

    Sir instead of void in method use type and return value beacause in every interview there ask this pattern ..

    • @ProgrammingTutorials1M
      @ProgrammingTutorials1M  3 ปีที่แล้ว

      Yes, In my new videos i have implemented this approach. You can check it.

  • @sivaram9439
    @sivaram9439 5 ปีที่แล้ว

    is first method is exactly crt for all the testcases....???

  • @V.LaxmanaVyaas
    @V.LaxmanaVyaas หลายเดือนก่อน

    Sir the output is in ordered one..not in unordered one sir

  • @UnprivilegedDelhi
    @UnprivilegedDelhi 3 ปีที่แล้ว

    what if we need to maintain the order of the array, how can we implement it without sorting the array?

  • @venkyvenky4261
    @venkyvenky4261 ปีที่แล้ว +1

    But output is not in order
    You changed the order sir

  • @abdulrahmanabdullahi1875
    @abdulrahmanabdullahi1875 2 ปีที่แล้ว

    Why is the sorting important when trying to remove the duplicates from an array?

  • @debayanroy6325
    @debayanroy6325 ปีที่แล้ว

    If you use LinkedHashSet instead of HashSet you can even retain the order.

  • @Baby_Boy_Mintu
    @Baby_Boy_Mintu 2 ปีที่แล้ว +1

    Thanks sir

  • @asifbasheerkhan2855
    @asifbasheerkhan2855 2 ปีที่แล้ว

    we should you linkedhashset instead of simple hashset because order in not preserved .

  • @ArunKumar-ko8po
    @ArunKumar-ko8po 2 ปีที่แล้ว

    thank you :)

  • @bryanlozano8905
    @bryanlozano8905 ปีที่แล้ว

    Can you use merge sort, and eject duplicates during merge routine? Or would all of those repeated shifts hurt the algorithm? I guess you can at least record the index of elements that are to be ejected during sorting.

    • @ProgrammingTutorials1M
      @ProgrammingTutorials1M  ปีที่แล้ว

      But in this case the time complexity would be O(nlogn). There is a tradeoff between time and space here. Using extra space we can solve this problem in linear time.

  • @shubhambhosale8467
    @shubhambhosale8467 3 ปีที่แล้ว +1

    make an empty set and insert all array value in that set it get sorted+remove duplicate as well
    thanks me later

  • @reefmansour3630
    @reefmansour3630 3 ปีที่แล้ว +1

    Thaaaaaaannnnnk you the j++ is a smart move !!! thanks

  • @Tangoez
    @Tangoez 3 ปีที่แล้ว

    Shabbaruoureyyyy shabana pureyyyy Heyyyyyyy shaburshaburaaa pureyyyyyyy

  • @alokkachhap4171
    @alokkachhap4171 4 ปีที่แล้ว

    -> what it is

  • @jhoanmateofrancovargas1405
    @jhoanmateofrancovargas1405 4 ปีที่แล้ว

    gracias por el vídeo,fue fácil entenderte aunque no hablaras mi idioma xd