zoukankan      html  css  js  c++  java
  • LeetCode 387. First Unique Character in a String (字符串中的第一个唯一字符)

    题目标签:String, HashMap

      题目给了我们一个 string,让我们找出 第一个 唯一的 char。

      设立一个 hashmap,把 char 当作 key,char 的index 当作value。

      遍历string,如果这个 char 没有在 map 里,说明第一次出现,存入 char,index;

                         如果这个 char 已经在 map 里,说明不是第一次出现,而且我们不在乎这种情况,更新 char, -1。

      遍历hashmap,把最小的 index 的值找出来,返回即可。

    Java Solution:

    Runtime beats 41..82% 

    完成日期:08/19/2018

    关键词:HashMap

    关键点:把index 存入map

     1 class Solution 
     2 {
     3     public int firstUniqChar(String s) 
     4     {
     5         HashMap<Character, Integer> map = new HashMap<>();
     6         char[] arr = s.toCharArray();
     7         
     8         for(int i=0; i<arr.length; i++)
     9         {
    10             char c = arr[i];
    11             Integer v = map.get(c);
    12             
    13             if(v != null) // if a char goes here, means that it is not a unique one
    14                 map.put(c, -1);
    15             else // unique char only goes here once
    16                 map.put(c, i);
    17         }
    18         
    19         
    20         int minIndex = Integer.MAX_VALUE;
    21         // find a min index char by iterating hashMap
    22         for(Character key : map.keySet())
    23         {
    24             Integer v = map.get(key);
    25             
    26             if(v >= 0 ) 
    27                 minIndex = Math.min(minIndex, v);
    28 
    29         }
    30             
    31         return minIndex == Integer.MAX_VALUE ? -1 : minIndex;
    32     }
    33 }

    参考资料:https://leetcode.com/problems/first-unique-character-in-a-string/discuss/161004/Java-one-pass-O(1)-space-solution

    LeetCode 题目列表 - LeetCode Questions List

    题目来源:https://leetcode.com/

  • 相关阅读:
    170821-关于SpringMVC的知识点
    170820-关于JSP页面的知识点
    170819-关于JSTL的知识点
    170819-关于EL表达式的知识点
    170817关于文件下载的知识点
    170814关于Cookie的知识点
    170817关于文件上传的知识点
    170817关于JSON知识点
    170817关于AJAX的知识点
    爬虫框架Scrapy之详解
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/9503540.html
Copyright © 2011-2022 走看看