女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:24 ? 次閱讀

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

一、引子

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

二、題目

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

案例:

s = "leetcode"
返回 0.

s = "loveleetcode",
返回 2.

1、思路

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

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

2、編程實現

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
        
        # 用字典記錄各字符的索引。如果重復出現,則索引值需要加上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

分享技術,樂享生活:我們的公眾號計算機視覺這件小事每周推送“AI”系列資訊類文章,歡迎您的關注!

本文由博客一文多發平臺 OpenWrite 發布!

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

    關注

    1804

    文章

    48833

    瀏覽量

    247308
  • 機器學習
    +關注

    關注

    66

    文章

    8496

    瀏覽量

    134217
  • 深度學習
    +關注

    關注

    73

    文章

    5557

    瀏覽量

    122569
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    字符串在數據庫的存儲方式

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

    字符串在編程的應用實例

    字符串在編程中有著廣泛的應用,它們被用于表示文本數據、處理用戶輸入、構建動態內容等。以下是字符串在編程的應用實例: 1. 用戶輸入與輸出 用戶輸入 :程序通常需要從用戶那里獲取輸
    的頭像 發表于 01-07 15:33 ?651次閱讀

    字符串字符數組的區別

    大多數編程語言中是高級數據結構,通常由語言的運行時環境直接支持。字符串通常以連續的字符序列存儲,但它們不僅僅是字符的簡單集合。
    的頭像 發表于 01-07 15:29 ?1037次閱讀

    字符串反轉的實現方式

    函數自身調用來解決問題的方法。在字符串反轉,遞歸可以用來逐個字符地構建反轉后的字符串。 實現步驟 基本情況 :如果字符串為空或只有
    的頭像 發表于 01-07 15:27 ?753次閱讀

    字符串處理方法 字符串轉數字的實現

    在編程,將字符串轉換為數字是常見的需求。不同的編程語言有不同的方法來實現這功能。以下是
    的頭像 發表于 01-07 15:26 ?802次閱讀

    字符串處理:4G模組軟件指南精要!

    最近直有朋友咨詢我關于4G模組的字符串處理,今天我便把相關指南展示給大家。
    的頭像 發表于 11-17 09:57 ?497次閱讀
    <b class='flag-5'>字符串</b>處理:4G模組軟件指南精要!

    base64字符串轉換為二進制文件

    Base64是種編碼方法,用于將二進制數據轉換為ASCII字符串。這種編碼通常用于在不支持二進制數據的系統傳輸數據,例如電子郵件或網頁。將Base64字符串轉換為二進制文件的過程相
    的頭像 發表于 11-10 10:55 ?2721次閱讀

    鴻蒙原生應用元服務開發-倉頡基礎數據類型字符串類型

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

    MATLAB(5)--字符串處理

    字符串表示 在MATLAB字符串是用單引號括起來的字符序列,是把一個字符串當做一個行向量,這
    發表于 09-06 10:22

    labview字符串數組轉化為數值數組

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

    labview字符串如何轉換為16進制字符串

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

    labview如何實現字符串換行

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

    labview如何實現字符串選擇輸出

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

    labview中常用的字符串函數有哪些?

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

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

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