Java program to find missing numbers in an array?

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ม.ค. 2023

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

  • @krayush1109
    @krayush1109 ปีที่แล้ว +5

    One of the best YT Channel to Learn Programming 🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟

  • @svr9546
    @svr9546 ปีที่แล้ว +10

    just add Collections.. to findout Hashset Max and Min number
    import java.util.Collections;
    import java.util.HashSet;
    public class MissingNumberDemo {
    public static void main(String[] args) {
    Integer a[]= {2,4,1,5,7,8,12};
    missingNumbers(a);
    }
    private static void missingNumbers(Integer[] a) {
    HashSet set = new HashSet();

    for(int num:a) {
    set.add(num);
    }
    int max=Collections.max(set);
    int min=Collections.min(set);

    for(int i=min; i

    • @shariefrana
      @shariefrana 6 หลายเดือนก่อน

      Great solution

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

    Just assume if the int a[] ={2,8,3}..to find the missing numbers ..how to do this?

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

    Program wont work if we remove 3 elements in an array

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

    try to change any of the numbers. say make 2 as 12 in the array. The solution wouldn't work. we have to find the min and max element in the array and iterate. can use a treeset.
    import java.util.TreeSet;
    public class MissingNumbers {

    public static void main(String args[]) {
    Integer arr[] = {12,4,0,7,1,8,5};
    missingNos(arr);
    }

    public static void missingNos(Integer a[]) {
    TreeSet set = new TreeSet();

    for(int n : a) {
    set.add(n);
    }
    int small = set.first();
    int large = set.last();

    for(int i=small ; i

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

      I was also thinking about this solution

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

      Yes you are correct this logic is not working if we change the numbers in the array....with your approach it worked fine for me as well...Dear author please add the same

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

      Good

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

    nicee thankyou

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

    void printMissingNumbers(int[] nums) {
    Arrays.sort(nums);
    int counter =0;
    for (int i = 0; i < nums[nums.length-1];i++) {
    if (i==nums[counter]) {
    counter++;
    } else {
    System.out.println(i);
    }

    }
    }

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

    can you explain why did you choose HashSet for this?

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

      bcause default sorting nature order of HashSet is ascending when you remove the ! from contains() so you will get output 0124578 but when you use arraylist you will get 2,4,1,5,7,8,0 bcoz insertion order is preserved

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

      but you can use anything bcoz your opretion is to find missing numbers so hashset not necessory

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

    Wrong program
    If we find missing number from {2,8};
    Then it will not show all missing number between 2 and 8
    wrong
    wrong
    wrong
    wrong

  • @sainath2983
    @sainath2983 2 หลายเดือนก่อน

    public class Program
    {
    static void Main(string[] args)
    {
    int[] nums = {2,4,1,5,7,8,0 };
    int n = nums.Max();
    for(int i =0;i< n; i++)
    {
    if (!nums.Contains(i))
    {
    Console.WriteLine(i);
    }
    }
    }
    }

  • @AkashVerma-em1gk
    @AkashVerma-em1gk 4 หลายเดือนก่อน

    i would say, your code is not correct. check mine
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    int[] arr = {0,1,2,3,4,5,10,15};
    HashSet hs = new HashSet();
    for(int i : arr) { hs.add(i); }

    Arrays.sort(arr);
    for(int i =0;i

  • @samahmahdi5511
    @samahmahdi5511 4 หลายเดือนก่อน

    import java.util.HashSet;
    import java.util.Set;
    public class MissingNumberDemo {
    public static void main(String[] args) {
    int a[]= {3,5,9,0,2};
    Set list = missingNumbers(a);
    System.out.println(list);
    }
    public static Set missingNumbers(int[] num){
    Set missingnumber = new HashSet();
    Set list = new HashSet(num.length);
    for(int n : num){
    list.add(n);
    }
    int max = num[0], min = num[0];
    for(int i=1;i