首页 > 其他分享 >19、哈希表

19、哈希表

时间:2023-04-12 16:46:04浏览次数:39  
标签:return charAt 19 ++ int 哈希 freq

1、字符串中的第一个唯一字符

387 - 字符串中的第一个唯一字符

public class FirstUniqChar {

    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;
    }
}

image
image
image

标签:return,charAt,19,++,int,哈希,freq
From: https://www.cnblogs.com/lidong422339/p/17310306.html

相关文章

  • 哈希表:剑指 Offer 48. 最长不含重复字符的子字符串
    题目描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。   提示:s.length<=40000 思路:双指针(滑动窗口)+哈希表:   复杂度分析:时间复杂度O(N):其中N为字符串长度,动态规划需遍历计算dp列表。空间复杂度O(1......
  • WSL启动报错WslRegisterDistribution failed with error: 0x8007019e
    Installing,thismaytakeafewminutes...WslRegisterDistributionfailedwitherror:0x8007019eTheWindowsSubsystemforLinuxoptionalcomponentisnotenabled.Pleaseenableitandtryagain.Seehttps://aka.ms/wslinstallfordetails.Pressanykeyto......
  • UVa 10719 Quotient Polynomial (数学)
    10719-QuotientPolynomialTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=99&page=show_problem&problem=1660Apolynomialofdegree n canbeexpressedasIf k isanyintegerthenwecan......
  • UVa 757 / POJ 1042 / East Central North America 1999 Gone Fishing (枚举&贪心&想
    757-GoneFishingTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=698http://poj.org/problem?id=1042Johnisgoingonafishingtrip.Hehas h hoursavailable( ),andther......
  • 哈希表:剑指 Offer 03. 数组中重复的数字
    题目描述:找出数组中重复的数字。在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。   限制:2<=n<=100000 哈希表/Set利用数据......
  • AT_abc195_e
    博弈论dpdp[i][j]表示到了第i轮,此时数为j,对当前的人对j数进行操作1表示T赢,0表示A赢初始化:dp[n+1][0]=1,T赢的条件,其余memset-1博弈论dp用记忆化搜索dp此时dfs(pos,num)将向dfs(pos+1,num*10%7) 或 dfs(pos+1,(pos+1,(num*10+a[pos])%7)转移如果此时是 Taka......
  • w2 P1008 [NOIP1998 普及组] 三连击
      主要思路:构造一个judge函数,判断是否1-9都出现了。由于三位数范围为123-987,但因为要求三个数字比例为1:2:3,所以在遍历时的范围是123-987/3。遍历范围内的每一个整数x,并判断2x,3x是否满足judge函数,满足则输出这三个数,否则继续遍历。代码如下:#include<iostream>usingnamespac......
  • Go语言入门5(map哈希表)
    Map​ 哈希表是一种巧妙并且实用的数据结构。它是一个无序的key/value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。​ 在Go语言中,一个map就是一个哈希表的引用,map类型可以写为map[K]V,其中K和V分别对应key和value。m......
  • 用Java写一段中国身份证的正则表达式,要求验证身份证中的日期,且大于1900年,以及校验码验
    以下是一个Java正则表达式,可用于验证中国身份证中的日期,并要求日期在1900年及之后:Stringregex="(?:(?:19[0-9]\\d)|(?:[2-9]\\d{3}))(?:0[1-9]|1[012])(?:0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]";这个正则表达式的含义如下:(?:(?:19[0-9]\\d)|(?:[2-9]\\d{3})):匹配1900年......
  • 1019. 链表中的下一个更大节点
    1019.链表中的下一个更大节点给定一个长度为 n 的链表 head对于列表中的每个节点,查找下一个更大节点的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值严格大于它的值。返回一个整数数组answer,其中answer[i]是第i个节点(从1开始)的下一个......