一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LeetCode初級(jí)算法-字符串02:字符串中的第一個(gè)唯一字符

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-10 22:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LeetCode初級(jí)算法--字符串02:字符串中的第一個(gè)唯一字符

一、引子

這是由LeetCode官方推出的的經(jīng)典面試題目清單~
這個(gè)模塊對(duì)應(yīng)的是探索的初級(jí)算法~旨在幫助入門算法。我們第一遍刷的是leetcode推薦的題目。

二、題目

給定一個(gè)字符串,找到它的第一個(gè)不重復(fù)的字符,并返回它的索引。如果不存在,則返回 -1。

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

1、思路

首先我們可以想到這道題需要的是一個(gè)不重復(fù)的字符,我們順序找到第一個(gè)不重復(fù)的字符,把其索引存起來,返回最小的索引也就是第一個(gè)不重復(fù)的字符了。

注:使用count方法,會(huì)增加時(shí)間復(fù)雜度,所以我們用字典記錄各字符的索引。如果重復(fù)出現(xiàn),則索引值需要加上len(s),小于len(s)的那個(gè)索引就是我們求的值。

2、編程實(shí)現(xiàn)

python

class Solution(object):
    def firstUniqChar(self, s):
        """
        :type s: str
        :rtype: int
        """
        #算法超時(shí)
        # res = []
        # for i in s:
        #     if s.count(i) == 1:
        #         res.append(s.index(i))
        # if len(res):
        #     return min(res)
        # return -1
        
        # 用字典記錄各字符的索引。如果重復(fù)出現(xiàn),則索引值需要加上len(s)
        d = {}
        for i in range(len(s)):
            if s[i] not in d:
                d[s[i]] = i
            else:
                d[s[i]] += len(s)
        
        if len(s) and min(d.values()) < len(s) :
            return min(d.values())
        return -1

分享技術(shù),樂享生活:我們的公眾號(hào)計(jì)算機(jī)視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關(guān)注!

本文由博客一文多發(fā)平臺(tái) OpenWrite 發(fā)布!

審核編輯 黃昊宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1807

    文章

    49029

    瀏覽量

    249647
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134646
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122805
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    harmony-utils之StrUtil,字符串工具類

    harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實(shí)用工具類
    的頭像 發(fā)表于 07-03 11:32 ?100次閱讀

    字符串在數(shù)據(jù)庫的存儲(chǔ)方式

    數(shù)據(jù)庫是現(xiàn)代信息技術(shù)存儲(chǔ)和管理數(shù)據(jù)的核心組件。字符串作為最常見的數(shù)據(jù)類型之,在數(shù)據(jù)庫的存儲(chǔ)方式對(duì)其性能和可擴(kuò)展性有著重要影響。 數(shù)據(jù)類型 固定長度
    的頭像 發(fā)表于 01-07 15:41 ?829次閱讀

    字符串在編程的應(yīng)用實(shí)例

    字符串在編程中有著廣泛的應(yīng)用,它們被用于表示文本數(shù)據(jù)、處理用戶輸入、構(gòu)建動(dòng)態(tài)內(nèi)容等。以下是字符串在編程的應(yīng)用實(shí)例: 1. 用戶輸入與輸出 用戶輸入 :程序通常需要從用戶那里獲取輸
    的頭像 發(fā)表于 01-07 15:33 ?717次閱讀

    字符串字符數(shù)組的區(qū)別

    大多數(shù)編程語言中是個(gè)高級(jí)數(shù)據(jù)結(jié)構(gòu),通常由語言的運(yùn)行時(shí)環(huán)境直接支持。字符串通常以連續(xù)的字符序列存儲(chǔ),但它們不僅僅是字符的簡單集合。
    的頭像 發(fā)表于 01-07 15:29 ?1145次閱讀

    字符串反轉(zhuǎn)的實(shí)現(xiàn)方式

    函數(shù)自身調(diào)用來解決問題的方法。在字符串反轉(zhuǎn),遞歸可以用來逐個(gè)字符地構(gòu)建反轉(zhuǎn)后的字符串。 實(shí)現(xiàn)步驟 基本情況 :如果字符串為空或只有
    的頭像 發(fā)表于 01-07 15:27 ?820次閱讀

    字符串處理方法 字符串轉(zhuǎn)數(shù)字的實(shí)現(xiàn)

    在編程,將字符串轉(zhuǎn)換為數(shù)字是個(gè)常見的需求。不同的編程語言有不同的方法來實(shí)現(xiàn)這功能。以下是
    的頭像 發(fā)表于 01-07 15:26 ?939次閱讀

    base64字符串轉(zhuǎn)換為二進(jìn)制文件

    Base64是種編碼方法,用于將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為ASCII字符串。這種編碼通常用于在不支持二進(jìn)制數(shù)據(jù)的系統(tǒng)傳輸數(shù)據(jù),例如電子郵件或網(wǎng)頁。將Base64字符串轉(zhuǎn)換為二進(jìn)制文件的過程相
    的頭像 發(fā)表于 11-10 10:55 ?2844次閱讀

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型字符串類型

    單引號(hào)(‘’\')。字面量的內(nèi)容從開頭的三個(gè)引號(hào)換行后的第一行開始,到結(jié)尾的三個(gè)引號(hào)之前為止,之間的內(nèi)容可以是任意數(shù)量的(除單獨(dú)出現(xiàn)的 \\\\ 之外的)任意字符。不同于單行
    發(fā)表于 09-18 10:43

    MATLAB(5)--字符串處理

    字符串表示 在MATLAB,字符串是用單引號(hào)括起來的字符序列,是把一個(gè)字符串當(dāng)做一個(gè)行向量,這
    發(fā)表于 09-06 10:22

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    常重要的。LabVIEW支持多種數(shù)據(jù)類型,包括數(shù)值、字符串、數(shù)組、簇等。在本例,我們將關(guān)注字符串數(shù)組和數(shù)值數(shù)組。 字符串數(shù)組 :由系列
    的頭像 發(fā)表于 09-04 17:47 ?5689次閱讀

    labview字符串如何轉(zhuǎn)換為16進(jìn)制字符串

    在LabVIEW,將字符串轉(zhuǎn)換為16進(jìn)制字符串個(gè)常見的需求,尤其是在處理數(shù)據(jù)通信和硬件接口時(shí)。LabVIEW提供了多種方法來實(shí)現(xiàn)這
    的頭像 發(fā)表于 09-04 15:54 ?5343次閱讀

    labview如何實(shí)現(xiàn)字符串換行

    1. 字符串換行的基本概念 在LabVIEW,字符串換行通常指的是在字符串插入換行,使得
    的頭像 發(fā)表于 09-04 15:47 ?3927次閱讀

    labview如何實(shí)現(xiàn)字符串選擇輸出

    在LabVIEW實(shí)現(xiàn)字符串選擇輸出是項(xiàng)常見的任務(wù),它涉及到字符串處理、條件判斷和用戶界面設(shè)計(jì)等多個(gè)方面。由于LabVIEW是種圖形化編
    的頭像 發(fā)表于 09-04 15:44 ?2214次閱讀

    labview中常用的字符串函數(shù)有哪些?

    ) : 功能:該函數(shù)用于返回字符串所包含的字符個(gè)數(shù)。 應(yīng)用場景:常用于需要計(jì)算字符串長度的場景,如文件命名、數(shù)據(jù)處理等。 連接字符串(String Concatenate) : 功能:
    的頭像 發(fā)表于 09-04 15:43 ?1856次閱讀

    labview字符串的四種表示各有什么特點(diǎn)

    。在LabVIEW字符串種基本的數(shù)據(jù)類型,用于表示文本信息。字符串在LabVIEW中有多種表示方式,每種方式都有其特定的應(yīng)用場景和特點(diǎn)。以下是對(duì)LabVIEW
    的頭像 發(fā)表于 09-04 15:40 ?1428次閱讀