john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

hashMap missing k numbers from sequence

//2012-05-10 johnpfeiffer find k missing numbers from sequential list n
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Main
{
    public static void main(String[] args)
    {
        Main m = new Main();
        int minimum = 0;
        int maximum = 6;
        int unsortedNumbers[] = { 1 , 3 , 0, 4, 6 } ;
        HashMap <Integer,Integer> missing = new HashMap <Integer,Integer>();

        for( int i = 0; i< unsortedNumbers.length; i++)     // O(n)
        {
            missing.put( unsortedNumbers[i] , unsortedNumbers[i] );
//          System.out.println( unsortedNumbers[i] );       //original ordering
        }
        m.display( missing );

        for( int i = minimum; i<= maximum ; i++ )       // O(n + k)
        {   if( !missing.containsValue( i ) )                   // O(1)
            {       System.out.println( "missing " + i );
            }
        }
    }

    private void display( HashMap <Integer,Integer> map )
    {
        Iterator it = map.entrySet().iterator();
        while( it.hasNext() )
        {
            Map.Entry entry = (Map.Entry) it.next();
            System.out.println( entry.getValue() );
        }
    }

    /*
        Set <Map.Entry <String , String> > set = parameterMap.entrySet();
        Iterator <Map.Entry <String , String> > it = set.iterator();
        while( it.hasNext() )
        {
            Entry <String, String> e = it.next();
            String key = e.getKey();
            String value = e.getValue();
            System.out.println( value );
        }
*/

}//end class

  • « LdapSearch initialdircontext
  • servlet login session template »

Published

May 16, 2012

Category

java

~128 words

Tags

  • from 24
  • hashmap 1
  • java 252
  • k 1
  • missing 4
  • numbers 2
  • sequence 1