zoukankan      html  css  js  c++  java
  • 计蒜客 单独的数字

    给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。

    如:{1, 2, 1, 2, 1, 2, 7}, 找出7.

    格式:

       第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。

    要求:

       你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~

    样例输入

    4
    0 0 0 5

    样例输出

    5

    =====================================
    第一次code:

     1 import java.util.ArrayList;
     2 import java.util.HashMap;
     3 import java.util.Iterator;
     4 import java.util.List;
     5 import java.util.Map;
     6 import java.util.Map.Entry;
     7 import java.util.Scanner;
     8 
     9 public class Main 
    10 { 
    11     public static void main(String[] args) 
    12     { 
    13         Scanner input = new Scanner(System.in);
    14         run(input.nextInt());
    15     }
    16     public static void run(int n)
    17     {
    18         Scanner input = new Scanner(System.in);
    19         List<String>list = new ArrayList<String>();
    20         for(int i=0;i<n;i++)
    21         {
    22             list.add(input.next());
    23         }
    24         Map<String,Integer> map = new HashMap<String, Integer>();  
    25         for(int i =0 ;i<list.size();i++)
    26         {  
    27             if(null!= map.get(list.get(i)))
    28             {  
    29                 map.put(list.get(i), map.get(list.get(i-1))+1); //value+1  
    30             }
    31             else
    32             {  
    33                 map.put(list.get(i),1);  
    34             }  
    35         }  
    36           
    37         Iterator it = map.entrySet().iterator();    
    38         while(it.hasNext())
    39         {  
    40             Entry entry = (Entry) it.next();     
    41             String  key  =  entry.getKey().toString();        
    42             int  value  =  Integer.parseInt(entry.getValue().toString());  
    43             if(value==1)
    44             {
    45                 System.out.println(key); 
    46             }
    47         }   
    48     }
    49 }


    时间效率没测评。时间复杂度没通过网站测评,以后再改吧。

  • 相关阅读:
    (译)linux系统关于命令echo的15个例子
    linux之grep实例讲解
    linux grep练习
    (译)"usermod"命令使用完全指导---15个练习例程截图
    linux分区,文件系统,目录结构概述
    Linux 配置YUM
    Linux 强制安装rpm 包
    $LANG、$NLS_LANG 记录一下
    Oracle性能诊断艺术-相关脚本说明
    datafile相关(add、rename、drop)
  • 原文地址:https://www.cnblogs.com/niithub/p/5841517.html
Copyright © 2011-2022 走看看