zoukankan      html  css  js  c++  java
  • leetcode-387-字符串中的第一个唯一字符

    问题:

    package com.example.demo;
    
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Map;
    import java.util.Set;
    
    public class Test387 {
    
        /**
         * 方法一:借助set
         */
        public int firstUniqChar(String s) {
            if (s == null || s.length() == 0) {
                return -1;
            }
            Map<String, Integer> map = new HashMap<>();
            for (int i = 0; i < s.length(); i++) {
                String sub = s.substring(i, i + 1);
                map.put(sub, map.getOrDefault(sub, 0) + 1);
            }
            for (int i = 0; i < s.length(); i++) {
                String sub = s.substring(i, i + 1);
                if (map.get(sub) == 1) {
                    return i;
                }
            }
            return -1;
        }
    
        /**
         * 方法二:利用桶站位
         * 问题提示:都是小写字母,所以新建的数据也就是26个长度
         */
        public int firstUniqChar1(String s) {
            int len = s.length();
            int[] bucket = new int[26];
            for (int i = 0; i < len; i++) {
                char c = s.charAt(i);
                bucket[c - 'a']++;
            }
    
            for (int i = 0; i < len; i++) {
                char c = s.charAt(i);
                if(bucket[c - 'a'] == 1){
                    return i;
                }
            }
            return -1;
        }
    
        public static void main(String[] args) {
            Test387 t = new Test387();
            int asdad = t.firstUniqChar1("asdad");
            System.out.println(asdad);
        }
    }
  • 相关阅读:
    selenium+python+API分类总结
    Web自动化测试之六、Selenium Web控件交互
    五、Selenium元素定位的八种方法
    五、X-PATH定位元素
    五、css_selector定位总结
    pytest测试框架实战一
    python实战2
    pycharm 远程开发
    python 虚拟环境
    爬虫案例_网易云歌单
  • 原文地址:https://www.cnblogs.com/nxzblogs/p/11274542.html
Copyright © 2011-2022 走看看