Remove Duplicates from sorted Array

Поделиться
HTML-код
  • Опубликовано: 9 окт 2024
  • Remove Duplicates from sorted Array. Remove multiple occurrences of an element from array. Keep only one occurrence of each element. No multiple copies. Write a program to do this.

Комментарии • 202

  • @muthushankar570
    @muthushankar570 3 года назад +3

    I was searched this problem in many websites not get this problem..but i see this problem in ur channel to understand very easily and learn clearly... Thank u brother 🙏

  • @madhukumar1238
    @madhukumar1238 6 лет назад +7

    Thank you!!! very well explained!! wish we had a professor like you!!!

  • @sinebiinnazo7882
    @sinebiinnazo7882 2 года назад +2

    I love how made the solution looked very simple. I wish you can treat more basic Java Algorithms so that i can understand several approaches to solving algorithms.

  • @Gaurav-bv6xr
    @Gaurav-bv6xr 6 лет назад +45

    sir take all interview probelms from geeksforgeeks and dicuss their algorithm and complexity

    • @sahad_abd
      @sahad_abd 2 года назад

      Plz help me bro...
      I have to prepare for placements plz tell where should I refer

    • @Gaurav-bv6xr
      @Gaurav-bv6xr 2 года назад

      @@sahad_abd bro,i am not preparing for interview now😅

    • @sahad_abd
      @sahad_abd 2 года назад

      @@Gaurav-bv6xr plz suggest me brooo..just you know

    • @Gaurav-bv6xr
      @Gaurav-bv6xr 2 года назад

      @@sahad_abd prepare interview ques from geeksforgeeks

  • @tanujvishwakarma1967
    @tanujvishwakarma1967 2 года назад +1

    wow i watched so many video but no buddy explained to butter and not cover to all every concept but u clear all the concept all
    and i"m surprise i means wow ;
    I"m say to thank u to u
    " sat sat naman app ko Hindi me bole to "

  • @godwincharan
    @godwincharan 6 лет назад +8

    The last line causes ambiguous behaviour if there is no element in the array. i.e. the size of the array is zero.
    Also using constant space method the final array will be 1,2,3,4,3,3,4,4 as we are using the same array and we don't clear the memory for those.

    • @therealsayanroy
      @therealsayanroy 6 лет назад

      it's for sorted array

    • @samiahmadkhan2865
      @samiahmadkhan2865 6 лет назад +1

      You didn't get his point. He's right, you will need to remove the remaining elements from the array after Jth position

    • @mepsk
      @mepsk 5 лет назад +1

      Exactly.. I have tried.. the last elements remain in array..

    • @tonmoyrakshit1717
      @tonmoyrakshit1717 5 лет назад

      That's right! We need to run a loop from jth+ 1 index till the last (n-1) and clear the remaining elements of the array.

    • @sairamgamidi7786
      @sairamgamidi7786 4 года назад

      @@tonmoyrakshit1717 Can u give the code to clea remaining elements

  • @mahideeptumati
    @mahideeptumati 6 лет назад +26

    One doubt here. While using same array to avoid duplicates j ended up with 3 here , then what happened to elements present in index 4,5,6,7 of array arr as we didn’t remove them in that array

  • @mr.unique4974
    @mr.unique4974 2 года назад

    Thank you Sir for helping . I've been searching a lot for the logical explanation.

  • @SmartProgramming
    @SmartProgramming 5 лет назад +1

    awesome explanation sir, hats off, keep uploading, thank you 👍👍👍👍🙂🙂🙂🙂

  • @azad1300
    @azad1300 4 года назад

    Your way of teaching is awesome.
    we need more problems solution on array, so update with some more problems.

  • @ManishaKumari-yv3nf
    @ManishaKumari-yv3nf 3 года назад

    Your explanation technique is great 👍

  • @FlavortownFreddy
    @FlavortownFreddy 2 года назад

    Very well explained, even small details are touched that others missed

  • @abhishek_singh512
    @abhishek_singh512 2 года назад

    Nice lecture sir keeping uploading this type of conceptual video
    🥰🥰🥰🥰🙏🙏🙏🙏🙏🙏 Maja aa gaya 🙂

  • @user-youyoki9054
    @user-youyoki9054 5 лет назад +15

    I feel sorry to say, but I wasn't able to get the result as you explained on the video(even though I have written the code as yours).

    • @crodr001
      @crodr001 4 года назад

      There is an error in his explanation at least on the O(1). It should be a difference between the array his looping through AND a new array. He treating All as the same array.

    • @gavravdhongadi9824
      @gavravdhongadi9824 3 года назад

      You need to start the loop from I=0;I

  • @samiahmadkhan2865
    @samiahmadkhan2865 6 лет назад +5

    You may want to slice of all the elements after j index, since you are doing in place replace.

  • @nandiniprakash5191
    @nandiniprakash5191 6 лет назад

    Very much helpful and can understand by anyone as explanation is very simple . Expecting to see the videos for java collections problems.

  • @Ihabkhattab
    @Ihabkhattab 4 года назад

    Thank you bro for your visualization of the problem and the solution is awesome. finally, I got it 🙏🏿

  • @saadmanahmed860
    @saadmanahmed860 6 лет назад +3

    sir...in constant space method, u churn out output to be [ ]{ 1, 2 ,3 ,4}...
    but according to your expounded algorithm, output comes out to be [ ]{1,2,3,4, 3,3,4,4 } as deletion of redundant 3,3,4,4 never undergoes....plz explain???????????

    • @algorithmsguide5076
      @algorithmsguide5076 4 года назад

      same doubt

    • @shalinsitwala
      @shalinsitwala 4 года назад +1

      Since you know j=3, which means first 4 are distinct elements.
      So you can use your unique values in the array by
      for(int i = 0; i

  • @aayushsarna6017
    @aayushsarna6017 5 лет назад +2

    Hi Vivek,
    What is the total time complexity for both the solutions. I believe that initially sorting the array will also take some time. So in this case can you please explain?

  • @NaturalPro100
    @NaturalPro100 5 лет назад +6

    Great explanation sir ,but one small problem ,if the last element in the original array is duplicate to second last element in array ,then we have to check if arr[j] != original[n-1]

    • @algorithmsguide5076
      @algorithmsguide5076 4 года назад +2

      Agreed !!

    • @sdani9160
      @sdani9160 4 года назад +2

      No you are wrong if last 2 elements are duplicate it will not consider the 2nd last element and it will get out of the loop and finally insert the last element in new array

    • @vivekdongare2289
      @vivekdongare2289 3 года назад

      @@sdani9160 yes correct it will not take any of the duplicates from ending array

  • @jayashreeanitha4438
    @jayashreeanitha4438 3 года назад

    Nice explanation sir .. well done .. Thank u so much for crystal clear explanation👍

  • @tapanjeetroy8266
    @tapanjeetroy8266 5 лет назад

    Thanks for uploading it.. You are doing a great great job.. Please please upload more of such programming questions.. We really need it

  • @PradeepSingh-ov3bt
    @PradeepSingh-ov3bt 6 лет назад

    make these kinds of tricky questions which provide best solution for a particular problem

  • @amarjeetkurmi1302
    @amarjeetkurmi1302 2 года назад

    Very simple explanation sir

  • @avibm948
    @avibm948 4 года назад

    Thanks for the video. Something is missing at the end for the "in memory" case , test [1,2,3,3]
    you need to add at the end
    while j

  • @nitinfudani1552
    @nitinfudani1552 6 лет назад

    Liked the way you explained! Really Helpful.

  • @naboulsikhalid7763
    @naboulsikhalid7763 Год назад

    what a quality explanation!. big thanks for the effort

  • @xiangwingrace8672
    @xiangwingrace8672 6 лет назад +1

    Very Good! Please discuss more complicated problems from GeeksforGeeks.

  • @indianinvestor1301
    @indianinvestor1301 2 года назад

    sir really good and help me a lot

  • @shubhamathawale7296
    @shubhamathawale7296 2 года назад

    Thank you sir 🙏 everything is clear now

  • @ramindersonu
    @ramindersonu 3 года назад

    Very good explanation

  • @hariprasad1744
    @hariprasad1744 Год назад

    In the first approach zeros will be added at the end of the temp array as we are creating with the same size of the actual array. and int he second approach you didnt explain how to remove the last elements. Can you please add the code for the above in your git

  • @GLTALES
    @GLTALES Год назад

    We kept i

  • @bassantdiaaahmed5736
    @bassantdiaaahmed5736 5 лет назад

    thank you so mush you are brilliant and you have such a beautiful method of teaching

  • @zaheershaikh7982
    @zaheershaikh7982 6 лет назад +2

    Good explanation buddy, a just one quick question to you. What if the last value is 4 instead of 5 then?

    • @dev_manish
      @dev_manish 6 лет назад +1

      there is something wrong with this algo.... use arr[j++]=arr[i] and arr[j++]=arr[n-1]

    • @doviche
      @doviche 5 лет назад

      ​@@dev_manish​, the algo is wrong!

  • @dandanamado8785
    @dandanamado8785 5 лет назад +1

    Thank you, I have a question sir what is the n-1 stands for inside the for loop? Thank you

    • @MrMarkgyuro
      @MrMarkgyuro 5 лет назад +2

      In this case we can not go to the last index. Because we can not compare it to the next index after it, that is a not existing index. We have to break out from the loop before we get to the last index.
      But we can handle the problem with transferring the last index's element to the new array.
      the basic method:
      the length of the array is represented by n. in this case n = 9, it means we have 9 elements.
      this helps us beacuse as you see indexes in the array are starting from 0 to n - 1. In our case, 0, 1, 2, 3, 4, 5, 6, 7, 8, note that 8 = 9 - 1 (n - 1).
      and this means that if we are the 8th iteration, we will go inside the if conditions body, but after the 8th (again, n - 1) we break from the loop.

    • @jitendarsahani11
      @jitendarsahani11 4 года назад

      Second last elements

  • @caiomartins7807
    @caiomartins7807 5 лет назад +1

    Very good lesson !!

  • @MAHESHAITBECS
    @MAHESHAITBECS 3 месяца назад

    good explanation sir

  • @04.nehalsingh12
    @04.nehalsingh12 2 года назад

    awesome tutorial sir

  • @deepak-lv4vn
    @deepak-lv4vn 4 года назад

    you are completely ossum sir!!

  • @satish040
    @satish040 4 года назад

    Hi Vivek, Can you do the same using hash tables. I am interested in known how to effectively create the hash function so that we dont have a large hashvalue. also how to avoid clash. Ex 0%20 is 0 and 20%20 is 0so using modulo is not that effective way of creating hash.

  • @mohammad-karbalaee
    @mohammad-karbalaee 3 года назад

    you are the loveliest indian ever.

  • @Vithal_Nivargi
    @Vithal_Nivargi Год назад

    Thank you well explained

  • @GG-hk5iz
    @GG-hk5iz 5 лет назад

    Very Well Explained .Thanks a lot

  • @sanjayd9675
    @sanjayd9675 4 года назад +1

    #include
    void main(){
    int n=8;
    int a[8]={1,2,2,3,3,3,4,4};
    int j=0;
    for(int i=0 ; i < n-1 ; i++){
    if(a[i]!=a[i+1]){
    a[j]=a[i];
    j++;
    }
    }
    a[j]=a[n-1];
    for(int i=0 ; i < j+1 ; i++){
    printf("%d" , a[i]);
    }
    }
    i think this works fine
    while printing we have to go till j+1 and not n
    when we do so we get the correct output
    but is there anyother method .

  • @mamuntheman6543
    @mamuntheman6543 2 года назад

    if the arr is 1 2 3 1 2 3 then its not able to find the duplicate that you discussed in the every last moment.

  • @vidhyapriyadharsinicoimbat4352
    @vidhyapriyadharsinicoimbat4352 5 лет назад

    Awesome Explanation thank you sir

  • @prasadmotupalli7638
    @prasadmotupalli7638 5 лет назад +2

    in first case the last element is 4
    o/p becomes----1 2 3 4 4??

  • @moodswingsoflife
    @moodswingsoflife 2 года назад

    Thanks sir .. really helpful

  • @jabraham1059
    @jabraham1059 4 года назад

    if we keep modifying the same array will the size of the array change?

  • @Kumarvivek-uv5hf
    @Kumarvivek-uv5hf 3 года назад

    the Solution does not work for constant space arr= [1,1,2] as J value remains 1 and hence when we want to print the array form 0 to j it will fail.

  • @spiceto1188
    @spiceto1188 6 лет назад

    Hi I really appreciated your video. But one question, what does n - 1 mean?

    • @therealsayanroy
      @therealsayanroy 6 лет назад

      Zohaib Shahzad n is total number of array elements
      if a[10] then n is 11 cause index of array starts from 0

    • @Lionelandresluis
      @Lionelandresluis 6 лет назад

      -1 the length of the array

    • @Hamlaww
      @Hamlaww 6 лет назад

      Can someone show how can we print the temp[j]...

  • @anilnkhsatriya9047
    @anilnkhsatriya9047 5 лет назад

    Hi Vivek, pls explain, how to remove the eliments of linked list which is having sum is equals to zero

  • @ganeshshetty8441
    @ganeshshetty8441 2 года назад

    Hi Vivek,
    Here one more step is needed to remove other elements from array from Jth position,

  • @praveenpuri2208
    @praveenpuri2208 3 года назад

    what about 1,2,2,3,3,1,4,4.... can we apply this algo in situation?

  • @malia8693
    @malia8693 3 года назад

    great explanation!

  • @menkamenka661
    @menkamenka661 6 лет назад

    its really very helpful..Thanks

  • @yogeshsomasundaram4187
    @yogeshsomasundaram4187 6 лет назад +1

    Thank you. But one doubt In using extra space, what if the last element is 4 ( instead of 5 in the original array). Then the temp array would end up having 4 twice - pls correct me if I am wrong. Thank you for your help.

  • @9441571873
    @9441571873 3 года назад

    //Remove duplicates from Array
    let arr = [1,2,3,2,4,3,5];
    let res = getResult(arr);
    function getResult(arr){
    let obj = {};
    let res = [];
    for(let i=0;i

  • @wmpah
    @wmpah 6 лет назад

    very clear and good writing on whiteboard

  • @laragarg
    @laragarg 6 лет назад

    Very helpful. Thank you very much.

  • @MohdSameer-rx9gj
    @MohdSameer-rx9gj 3 года назад

    Thank you very much sir...

  • @krishnareddyyerram4615
    @krishnareddyyerram4615 Год назад

    i++ j++ will not execute if duplicate found. Sort is required to place duplicate side by side.

  • @gurunatharudhbhandarkavath7781
    @gurunatharudhbhandarkavath7781 5 лет назад

    sir If the duplicates are not in consecutive then what we have to do?

  • @akhint4379
    @akhint4379 2 года назад

    Thank you so much sir❤

  • @Kidsgyan762
    @Kidsgyan762 5 лет назад

    Sir nice explanation

  • @Abhaykumar-lw7nr
    @Abhaykumar-lw7nr Месяц назад

    thanks brother amazing...

  • @Lucy-dh2wj
    @Lucy-dh2wj 4 года назад

    Very clear and understandable! thanks!

  • @PodClips_withSuraj
    @PodClips_withSuraj 4 дня назад

    Great Sir

  • @gawarivivek
    @gawarivivek 4 года назад

    Thanks a lot, Sir!! Simplified explanation..:)

  • @janispaloma6060
    @janispaloma6060 5 лет назад +1

    What if the duplicate of 2 is place on the last place on array list

    • @durjaarai7737
      @durjaarai7737 4 года назад

      Janis Paloma - hi, the question n solution is on sorted array.

  • @avi-0985
    @avi-0985 5 лет назад

    Sir but if all the elements are same this code will not work
    For example if array elements are:2 2 2 2 2

    • @ashwathbhat98
      @ashwathbhat98 5 лет назад

      It will work.
      Nothing will be added during the for loop since the elements are same. But we add the last element outside the for loop which is 2 in your case.
      Hope you understood. If not, try using a pen and paper for each i.

  • @JadeMelody08
    @JadeMelody08 6 лет назад

    Great explanation. Thanks!

  • @mohanrajg7254
    @mohanrajg7254 Год назад

    Vivekanand sir
    can i get java pgm for this ??

  • @nidhisingh7802
    @nidhisingh7802 4 года назад

    Sir also tell complexity in each case .

  • @planetmobiles5794
    @planetmobiles5794 3 года назад

    Sir would uh please say the same algorithm for 30,28,28,98,70,30 what if 1st element and last element is same

    • @imamuddinalmustaqim2030
      @imamuddinalmustaqim2030 2 года назад

      We change it to be an sorted array first, then do same stuff like this tutorial

    • @26kito
      @26kito 2 года назад

      Well in that case, I think it can be done with nested for loop. No need to sort the array

  • @kavithagorantla6000
    @kavithagorantla6000 2 года назад

    Sir output kuda print cheyyochu kadha sir

  • @lailasanthi7598
    @lailasanthi7598 5 лет назад

    If last element and before element are equal what is the code sir

  • @ranjithparuchuri7326
    @ranjithparuchuri7326 6 лет назад

    nicely explained.thanks

  • @ryanafzal4129
    @ryanafzal4129 Год назад

    Can anybody explain what is the time complexity of this algorithm?

  • @joelonix5326
    @joelonix5326 6 лет назад

    Good work.really helpful

  • @abhinandanmajumder844
    @abhinandanmajumder844 5 лет назад

    Sir, please tell how will u print the output as value of n decreases after removing duplicate

    • @jitendarsahani11
      @jitendarsahani11 4 года назад

      You have value of j.. you can use it to iterate throught new array.and print the elements

    • @bishalrajbhattarai5482
      @bishalrajbhattarai5482 4 года назад

      But that will be the contion j< upto what? To print the element

  • @sunainagandra2924
    @sunainagandra2924 6 лет назад

    thank you sir..please post more..we will be very thakfull sir

  • @shahrukhshaikh9558
    @shahrukhshaikh9558 6 лет назад +1

    I think we have to add arr[j++] =arr[n-1] if last two elements of array are same in constant space method

  • @santhuravikanti4988
    @santhuravikanti4988 5 лет назад +1

    but if we use same array after filling the elements into array ,still will get duplicates after the loop
    in above example after filling the elements the index j is point to 3 and elements are filtered ,but if we display the array will get all elements after index 3 also,is this expected behavior

  • @anchaldubey4217
    @anchaldubey4217 5 лет назад

    Could you a make video on Chess Design

  • @TheMihirpatel23
    @TheMihirpatel23 4 года назад

    Thank you so much sir

  • @RTX_valorant
    @RTX_valorant 3 года назад

    Why can't we use just list(set(arr))???

  • @thalabloods2514
    @thalabloods2514 Год назад

    sir I tried it was awesome but getting array elements from user input is not working please upload video from getting user input and then remove duplicate

  • @manojnaidu
    @manojnaidu 6 лет назад

    what about the remaining elements in the original array after index 4?

    • @amirtim2007
      @amirtim2007 6 лет назад

      you are right , he needs to go every after the last j, and in every place to put '/0' , or null .
      depend of the type of the array.

    • @therealsayanroy
      @therealsayanroy 6 лет назад +1

      print upto j.. no need to print after that

  • @kanimozhiparivallal995
    @kanimozhiparivallal995 5 лет назад

    Super class....

  • @dipankarpal686
    @dipankarpal686 4 года назад

    Your explanation is nice. But you are not checking for last element. if Last element is unique , your program will not work..

  • @rajeshdevan6051
    @rajeshdevan6051 6 лет назад

    Very nice Sir thank you

  • @hanschaudry808
    @hanschaudry808 3 года назад

    shout out to you bro, I hope someone posted you on national boyfriend day

  • @Aaqibkhan-oy9fr
    @Aaqibkhan-oy9fr Год назад

    Thank you sir

  • @harishdalmia6538
    @harishdalmia6538 5 лет назад

    Hi Can you please share video on : Given a 2D plane with n points in it. Tell me the k closest points near to a given point.

  • @susannaventafridda430
    @susannaventafridda430 5 лет назад

    correct in place solution:
    def remove_duplicates(nums):
    j = 0
    for i in range(len(nums) - 1):
    if nums[i] != nums[i + 1]:
    nums[j + 1] = nums[i + 1]
    j += 1
    return j + 1

  • @aokreddy920
    @aokreddy920 6 лет назад

    Nice explain sir

  • @soudiptadutta6886
    @soudiptadutta6886 6 лет назад +3

    The code snippet to get the Length of the array without considering the duplicates is below:
    public class Abc {
    public static void main(String[] args) {
    int[] a = {1, 2, 2, 3, 4, 4, 4, 5, 5};
    int n = a.length;
    lengthOfArrayWithoutDuplicates(a);
    }
    private static int lengthOfArrayWithoutDuplicates(int[] a) {
    int count = 1 ;
    for (int i = 1; i < a.length; i++) {
    if(a[i-1] != a[i] ) {
    a[count++] = a[i];
    }
    }//for
    System.out.println("length of array without duplicates " +count);
    return count;
    }
    }

  • @arturopalacios5759
    @arturopalacios5759 2 года назад

    where is n even initialized here? is n the number of elements or what is n?

    • @26kito
      @26kito 2 года назад

      N is the length(size of) of array. But, I'm confused too why he put that else statement, I think it doesn't necessarry