Problem
Given a string, find the first non-repeating character in it and return it"s index. If it doesn"t exist, return -1.
ExampleGiven s = "lintcode", return 0.
Given s = "lovelintcode", return 2.
TagsAmazon Microsoft Bloomberg
Solutionclass Solution { public int firstUniqChar(String s) { int[] dict = new int[26]; for (int i = 0; i < s.length(); i++) { dict[s.charAt(i)-"a"]++; } for (int i = 0; i < s.length(); i++) { if (dict[s.charAt(i)-"a"] == 1) return i; } return -1; } }
public class Solution { public int firstUniqChar(String s) { //store string in an array char[] str = s.toCharArray(); //use HashMap to check each character"s frequency Mapmap = new HashMap<>(); for (int i = 0; i < str.length; i++) { char ch = str[i]; //reset duplicate chars to "#" if (map.containsKey(ch)) { str[map.get(ch)] = "#"; str[i] = "#"; } else { map.put(ch, i); } } int index = str.length; for (int i = 0; i < str.length; i++) { //find the first character that is not "#" and return its index if (str[i] != "#") { return i; } } //if no unique character, return -1 return -1; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68097.html
摘要:和完全一樣的做法,只要在初始化首行和首列遇到時置零且即可。對了,數組其它元素遇到也要置零喏,不過就不要啦。 Problem Follow up for Unique Paths: Now consider if some obstacles are added to the grids. How many unique paths would there be? An obstacle...
Problem Given a string source and a string target, find the minimum window in source which will contain all the characters in target. Notice If there is no such window in source that covers all charac...
摘要:雙指針法的解法。然后用和夾逼找到使三數和為零的三數數列,放入結果數組。對于這三個數,如果循環的下一個數值和當前數值相等,就跳過以避免中有相同的解。 Problem Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplet...
摘要:簡單的動規題目,建立數組。坐標為矩陣的坐標,值為從左上角到這一格的走法總數。賦初值,最上一行和最左列的所有格子的走法都只有一種,其余格子的走法等于其左邊格子走法與上方格子走法之和。最后,返回即可。 Problem A robot is located at the top-left corner of a m x n grid (marked Start in the diagram ...
摘要:建立一個長度為的數組,統計所有個字符在出現的次數,然后減去這些字符在中出現的次數。否則,循環結束,說明所有字符在和中出現的次數一致,返回。 Program Write a method anagram(s,t) to decide if two strings are anagrams or not. Example Given s=abcd, t=dcab, return true....
閱讀 1294·2021-10-08 10:05
閱讀 4107·2021-09-22 15:54
閱讀 3105·2021-08-27 16:18
閱讀 3107·2019-08-30 15:55
閱讀 1437·2019-08-29 12:54
閱讀 2748·2019-08-26 11:42
閱讀 543·2019-08-26 11:39
閱讀 2129·2019-08-26 10:11