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

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

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

劍指Offer(37):數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-10 22:40 ? 次閱讀

劍指Offer(37):數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)

一、引子

這個系列是我在牛客網(wǎng)上刷《劍指Offer》的刷題筆記,旨在提升下自己的算法能力。

二、題目

統(tǒng)計一個數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)。

1、思路

看見有序,肯定就是二分查找了

做法就是使用二分法找到數(shù)字在數(shù)組中出現(xiàn)的第一個位置,再利用二分法找到數(shù)字在數(shù)組中出現(xiàn)的最后一個位置。時間復雜度為O(logn + logn),最終的時間復雜度為O(logn)。

舉個例子,找到數(shù)字k在數(shù)組data中出現(xiàn)的次數(shù)。

數(shù)組data中,數(shù)字k出現(xiàn)的第一個位置:

我們對數(shù)組data進行二分,如果數(shù)組中間的數(shù)字小于k,說明k應該出現(xiàn)在中間位置的右邊;如果數(shù)組中間的數(shù)字大于k,說明k應該出現(xiàn)在中間位置的左邊;如果數(shù)組中間的數(shù)字等于k,并且中間位置的前一個數(shù)字不等于k,說明這個中間數(shù)字就是數(shù)字k出現(xiàn)的第一個位置。

同理,數(shù)字k出現(xiàn)的最后一個位置,也是這樣找的。但是判斷少有不同。我們使用兩個函數(shù)分別獲得他們。

2、編程實現(xiàn)

python

代碼實現(xiàn)方案:
python有自帶的方法進行查找~

# -*- coding:utf-8 -*-
class Solution:
    def GetNumberOfK(self, data, k):
        # write code here
        return data.count(k)

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

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

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

    關(guān)注

    1793

    文章

    47590

    瀏覽量

    239468
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8435

    瀏覽量

    132880
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5511

    瀏覽量

    121382
收藏 人收藏

    評論

    相關(guān)推薦

    使用ADS1256中出現(xiàn)重新上電會出現(xiàn)讀取AD值不一樣的情況,怎么解決?

    您好,我使用ADS1256中出現(xiàn)重新上電會出現(xiàn)讀取AD值不一樣的情況:我這邊一直給一個恒定的電壓輸入,重復上電斷電讀取AD值的實驗,10次中大約出現(xiàn)兩次讀到的AD值異常偏大,直接測
    發(fā)表于 12-13 09:34

    指針數(shù)組和二維數(shù)組有沒有區(qū)別

    。 首先是指針數(shù)組 s1。 s1 本身是個一維數(shù)組,數(shù)組有三個元素,每個元素都是個指針。如果是 64 位系統(tǒng),三個指針就占了 24 個字節(jié)。 使用 sizeof 計算 s1 的大小,結(jié)果就是 24。 三個
    的頭像 發(fā)表于 11-24 11:12 ?199次閱讀

    TPA3110D2調(diào)試的過程中出現(xiàn)的疑問求解

    你好,我們公司現(xiàn)在用貴公司的TPA3110D2,調(diào)試的過程中出現(xiàn)以下問題麻煩給個合理的解釋,謝謝! 調(diào)試過程中,為了方便用示波器查看功放兩端的信號,把示波器的插頭的地線去掉。這時候用通道 1
    發(fā)表于 11-06 07:05

    TAS6424的開關(guān)頻率2.MHz EMC CE電壓法測試中出現(xiàn)超標情況,請問如何改善?

    TAS6424 的開關(guān)頻率2.MHz EMC CE 電壓法測試中出現(xiàn)超標情況。請問從哪個方面可以改善呢
    發(fā)表于 10-09 06:01

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

    LabVIEW中,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項常見的任務,尤其是處理數(shù)據(jù)采集、信號處理或用戶輸入時。 1. 理解LabVIEW的數(shù)據(jù)類型
    的頭像 發(fā)表于 09-04 17:47 ?2706次閱讀

    面試???1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

    嵌入式開發(fā)領(lǐng)域,函數(shù)指針、指針函數(shù)、數(shù)組指針和指針數(shù)組是一些非常重要但又容易混淆的概念。理解它們的特性和應用場景,對于提升嵌入式程序的效率和質(zhì)量至關(guān)重要。一、指針函數(shù)與函數(shù)指針指針函數(shù):定義:指針
    的頭像 發(fā)表于 08-10 08:11 ?971次閱讀
    面試常考+1:函數(shù)指針與指針函數(shù)、<b class='flag-5'>數(shù)組</b>指針與指針<b class='flag-5'>數(shù)組</b>

    for循環(huán)最大能運行次數(shù)

    程序如圖,在讀取數(shù)組文件后for循環(huán)運行會卡頓,最后程序運行卡死。數(shù)組行數(shù)有40w+,是否是循環(huán)次數(shù)太多,延時從1ms、100ms、1000ms都試過了還是會卡死。
    發(fā)表于 07-27 09:09

    SMT錫膏焊接中出現(xiàn)錫珠的因素有哪些?

    SMT錫膏焊接過程中,錫珠現(xiàn)象是主要缺陷之一。錫珠產(chǎn)生的原因很多,而且不容易控制。那么導致SMT焊接中出現(xiàn)錫珠的因素有哪些呢?下面深圳佳金源錫膏廠家來介紹一下:1、SMT生產(chǎn)過程中,使用的錫膏應
    的頭像 發(fā)表于 07-13 16:07 ?576次閱讀
    SMT錫膏焊接<b class='flag-5'>中出現(xiàn)</b>錫珠的因素有哪些?

    SMT貼片加工中出現(xiàn)元器件移位的原因有哪些?

    SMT貼片加工現(xiàn)今高速發(fā)展的電子行業(yè)中是不可或缺的生產(chǎn)加工方式之一,對于密集化、小型化的電路板來說使用SMT貼片的形式來進行元器件的貼裝是有重要意義的,但是貼片加工的生產(chǎn)中偶爾也會出現(xiàn)一些不良
    的頭像 發(fā)表于 06-27 16:11 ?620次閱讀
    SMT貼片加工<b class='flag-5'>中出現(xiàn)</b>元器件移位的原因有哪些?

    雙線磁環(huán)共模電感測試中出現(xiàn)異常的原因分析

    電子發(fā)燒友網(wǎng)站提供《雙線磁環(huán)共模電感測試中出現(xiàn)異常的原因分析.docx》資料免費下載
    發(fā)表于 06-03 14:50 ?0次下載

    keil 斷點 執(zhí)行次數(shù)設(shè)置后,出現(xiàn)非法變量的錯誤

    keil 斷點 執(zhí)行次數(shù)設(shè)置后,出現(xiàn)非法變量的錯誤。希望大家?guī)蛶兔Α?
    發(fā)表于 06-02 19:25

    如何預防貼片加工中出現(xiàn)元器件偏移現(xiàn)象?

    SMT工廠的貼片加工中元器件的正確焊接直接影響到焊接質(zhì)量,元件偏移是焊接質(zhì)量的重要組成部分。如何預防貼片加工中出現(xiàn)元器件偏移現(xiàn)象呢?下面深圳佳金源錫膏廠家給大家簡單介紹一下:1、嚴格校準定位坐標
    的頭像 發(fā)表于 04-09 16:41 ?593次閱讀
    如何預防貼片加工<b class='flag-5'>中出現(xiàn)</b>元器件偏移現(xiàn)象?

    想聽聽48和大對數(shù)光纜的排序?

    48芯光纜和大對數(shù)光纜都是光纜中的一種,它們的區(qū)別在于芯數(shù)不同。48芯光纜指的是光纜中包含48根光纖,而大對數(shù)光纜則是光纜中芯數(shù)超過了48芯。 實際的光纜應用中,不同芯數(shù)的光纜需要進行不同的排序
    的頭像 發(fā)表于 03-12 10:44 ?676次閱讀

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點

    內(nèi)存中的存儲方式: 數(shù)組是一種連續(xù)存儲的數(shù)據(jù)結(jié)構(gòu),它將元素存儲相鄰的內(nèi)存位置中。這使得數(shù)組的訪問效率高,可以通過下標來直接訪問任何一個元素。 鏈表是一種離散存儲的數(shù)據(jù)結(jié)構(gòu),它將元素存儲
    的頭像 發(fā)表于 02-21 11:30 ?1098次閱讀

    怎么排除拉線位移傳感器使用中出現(xiàn)的故障

    怎么排除拉線位移傳感器使用中出現(xiàn)的故障? 拉線位移傳感器是一種常用于測量線性位移的設(shè)備,廣泛應用于自動化控制系統(tǒng)、機械工程、航空航天和制造業(yè)等領(lǐng)域。然而,由于使用環(huán)境的復雜性和長時間的運行,拉線
    的頭像 發(fā)表于 02-02 16:47 ?799次閱讀