99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

LeetCode初級算法-字符串02:字符串中的第一個唯一字符

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

掃碼添加小助手

加入工程師交流群

LeetCode初級算法--字符串02:字符串中的第一個唯一字符

一、引子

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

二、題目

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

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

1、思路

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

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

2、編程實現(xiàn)

python

class Solution(object):
    def firstUniqChar(self, s):
        """
        :type s: str
        :rtype: int
        """
        #算法超時
        # 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ù),樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關(guān)注!

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

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

    關(guān)注

    1807

    文章

    49028

    瀏覽量

    249551
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8503

    瀏覽量

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

    關(guān)注

    73

    文章

    5561

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    MATLAB(5)--字符串處理

    字符串表示 在MATLAB,字符串是用單引號括起來的字符序列,是把一個字符串當(dāng)做一個行向量,這
    發(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 ?5680次閱讀

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

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

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

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

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

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

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

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

    labview字符串的四種表示各有什么特點

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