zoukankan      html  css  js  c++  java
  • First Unique Character in a String

    Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

    Examples:

    s = "leetcode"
    return 0.
    
    s = "loveleetcode",
    return 2.
    

    Note: You may assume the string contain only lowercase letters.

    解法一:cc150解法

    public class Solution {
        public int firstUniqChar(String s) {
            int freq [] = new int[26];
            for(int i = 0; i < s.length(); i ++)
                freq [s.charAt(i) - 'a'] ++;
            for(int i = 0; i < s.length(); i ++)
                if(freq [s.charAt(i) - 'a'] == 1)
                    return i;
            return -1;
        }
    }

    reference:

    https://discuss.leetcode.com/topic/55148/java-7-lines-solution-29ms

    解法二:hashmap

    public class Solution {
        public int firstUniqChar(String s) {
            if(s.length() == 0) return -1;
            Map<Character, Integer> hm = new HashMap<>();
            for(int i = 0; i < s.length(); i++){
                if(!hm.containsKey(s.charAt(i))){
                    hm.put(s.charAt(i), i);
                }else{
                    hm.put(s.charAt(i), Integer.MAX_VALUE);
                }
            }
            return Collections.min(hm.values()) != Integer.MAX_VALUE ? Collections.min(hm.values()) : -1;
        }
    }

    reference:

    https://discuss.leetcode.com/topic/55607/simple-java-solution-using-hashmap-and-collections

  • 相关阅读:
    在 Tomcat 8 部署多端口项目
    tar -zxvf jdk-8u144-linux-x64.tar.gz
    linux下删除文件夹的命令
    springboot+mybatis案例
    阿里云主机密码
    查看公钥
    jenkins安装
    redis详解(包含使用场景)
    什么是JSONP?
    在CentOS7上面搭建GitLab服务器
  • 原文地址:https://www.cnblogs.com/hygeia/p/5820385.html
Copyright © 2011-2022 走看看