算法:第一个只出现一次的字符

问题

  • 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

解决


//1、暴力解法,将每一个字符与除它本身外的所有字符对比
O(n^2)\O(1)
class Solution {
    public char firstUniqChar(String s) {
        int len1=s.length();
        if(len1==0) return ' ';
        boolean flag;
        for(int i=0;i

//3. 使用hashmap进行存储字符以及每个字符对应的次数,然后遍历字符串,得到第一个出现次数==1的字符
class Solution {
    public char firstUniqChar(String s) {
        Map frequency = new HashMap();
        for (int i = 0; i < s.length(); ++i) {
            char ch = s.charAt(i);
            frequency.put(ch, frequency.getOrDefault(ch, 0) + 1);       //getOrDefault获取对应key的value
        }
        for (int i = 0; i < s.length(); ++i) {
            if (frequency.get(s.charAt(i)) == 1) {
                return s.charAt(i);
            }
        }
        return ' ';
    }
}
//时间复杂度O(N)

Original: https://www.cnblogs.com/zhangsanM/p/16581629.html
Author: new_monkey
Title: 算法:第一个只出现一次的字符

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/605169/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL

    数据库:英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。数据库管理系统:…

    数据结构和算法 2023年6月8日
    067
  • 堆排序及实现(C++)

    二叉堆数据结构,底层用数组实现,可理解为一棵完全二叉树。 性质:堆序性质,上浮下沉操作都是为了保持堆序性质。 堆可用来排序,求TopK问题等。 代码: 上述代码建堆方式为数组已知,…

    数据结构和算法 2023年6月8日
    082
  • 「学习笔记」倍增思想与lca

    ST表 算法 预处理 查询 关于 log2 Code 预处理 查询 例题 P2880 P2048 lca 树上 RMQ 前置知识:欧拉序列 算法 Code 离线 Tarjan 算法…

    数据结构和算法 2023年6月8日
    0108
  • Fhq_Treap 和 Splay:谁才是序列之王?

    平衡树 很久以前,我立志要学习所有的平衡树,然后把每个树的学习笔记都整理到相关博客中。 而如今…… 今年欢笑复明年,不知退役在眼前。 在阅读本文之前建议先学…

    数据结构和算法 2023年6月12日
    082
  • python爬虫配置随机请求头headers伪装User-Agent

    fake_useragent 库 调用方法 ua.random可以随机返回一个headers(User-Agent) from fake_useragent import User…

    数据结构和算法 2023年6月16日
    089
  • 关于 auto 使用的一个小细节

    从output可以看出,auto 自动推导了 A t = _A.get_class(),故调用了class A的拷贝构造函数 可以看出 auto& 推导出了 A& …

    数据结构和算法 2023年6月7日
    064
  • KOF 拳皇

    2022/6/21初代更新; 版本1.0 git 地址 目前只有一个人物且不可选择,之后会加入背景音乐,几大声音等,其仓库地址与球球大作战地址相同,之后会更新到服务器端,可在线匹配…

    数据结构和算法 2023年6月12日
    063
  • Home Assistant中接入博联WiFi智能遥控

    想要在Home Assistant中通过智能遥控发送红外信号控制空调需有两个步骤:一、智能遥控接入Home Assistant;二、Home Assistant将红外信号数据发往智…

    数据结构和算法 2023年6月7日
    0154
  • 2-3树/红黑树

    2-3树 为了维护2-3树绝对平衡的性质,插入结点时就要符合一下逻辑: 添加结点不能添加到空位置,除非此时整个树为空。 如果按照二分搜索树的方式插入元素,如果插入位置为空,此时和最…

    数据结构和算法 2023年6月8日
    045
  • mybatis升级为mybatis-plus

    为了快速开发,需要把之前的老项目升级为mybatis-plus 步骤一:导入jar包 步骤二:删除mybatis-spring桥梁包 一定要删除之前与mybatis相关的包,否则可…

    数据结构和算法 2023年6月12日
    081
  • 关于nginx 和 uwsgi

    关于nginx和uWSGI和Django之间的关系,我觉得要理一下。 原文链接 为什么要用nginx 因为我们要使用https协议访问。(y总说django不支持,但是我查了一下,…

    数据结构和算法 2023年6月12日
    044
  • LeetCode_29. 两数相除Divide Two Integers|商的二进制表示与除数的关系

    Problem description Given two integers: dividend and divisor, return dividend/divisor with…

    数据结构和算法 2023年6月16日
    074
  • 莫队奇偶性优化

    对于左端点在同一奇数块的区间,右端点按升序排列。 对于左端点在同一偶数块的区间,右端点按降序排列。 inline bool cmp(node a, node b){ if(a.bl…

    数据结构和算法 2023年6月12日
    085
  • [LC735]行星碰撞

    题目描述 给定一个整数数组 asteroids,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗…

    数据结构和算法 2023年6月8日
    073
  • 网络流

    (G=(V,E)):有向图,s:源点,t:汇点,边权:流量。不存在反向边(存在可以加点)。 可行流 (f):容量限制,流量守恒对于每个点流入流出相同(不考虑反向边)。 最大流:最大…

    数据结构和算法 2023年6月12日
    075
  • hdu 2838 Cow Sorting

    题意: 给出一个数组,要求把他们排成升序,两个数字交换的代价是x + y,求代价的总和。 思路: 简单的逆序对变形,树状数组维护小于的cnt和sum即可。 代码: Original…

    数据结构和算法 2023年6月12日
    063
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球