• LeetCode: Single Number


     1 /**
     2  * 
     3  */
     4 package solution;
     5 
     6 import java.util.Arrays;
     7 
     8 /**
     9  * @author whh
    10  * 
    11  *         Given an array of integers, every element appears twice except for
    12  *         one. Find that single one.
    13  * 
    14  *         Note: Your algorithm should have a linear runtime complexity. Could
    15  *         you implement it without using extra memory?
    16  * 
    17  */
    18 public class SingleNumber {
    19 
    20     /**
    21      * @param args
    22      */
    23     public static void main(String[] args) {
    24         int[] A1 = { 1 };
    25         int[] A2 = { 1,2,3,4,1,2,3 };
    26         int[] A3 = { 1,1,2,4,2,4,3,5,3 };
    27         System.out.println(singleNumber(A1));
    28         System.out.println(singleNumber(A2));
    29         System.out.println(singleNumber(A3));
    30     }
    31 
    32     /**
    33      * @param A
    34      * @return
    35      */
    36     public static int singleNumber(int[] A) {
    37         Arrays.sort(A);
    38         int ret = 0;
    39         for (int i = 0; i < A.length; i = i + 2) {
    40             if (i == A.length - 1) {
    41                 ret = A[i];
    42                 break;
    43             } else if (A[i] != A[i + 1]) {
    44                 ret = A[i];
    45                 break;
    46             }
    47         }
    48         return ret;
    49     }
    50 }
  • 相关阅读:
    排列组合
    分治——最大连续数组和
    分治——最近点对
    Java数据类型
    4源代码的下载和编译
    3Git使用入门
    2.3搭建Android应用程序开发环境
    2.2安装JDK
    2.1Android底层开发需要哪些工具
    1.8小结
  • 原文地址:https://www.cnblogs.com/Jellylovecode/p/Single-Number.html
Copyright © 2020-2023  润新知