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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

一、引子

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

二、題目

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

1、思路

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

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

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

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

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

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

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

python

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

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

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

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

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

    關(guān)注

    1806

    文章

    48996

    瀏覽量

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

    關(guān)注

    66

    文章

    8501

    瀏覽量

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

    關(guān)注

    73

    文章

    5561

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如果要使用數(shù)字信號隔離芯片將AD7606對數(shù)字系統(tǒng)隔離,應(yīng)該如何鋪地?

    AD7606沒有數(shù)字地線,所以給人一頭霧水的感覺。 ADI的參考文獻(xiàn)中出現(xiàn)了兩種鋪地模式。 芯片的DATASHEET文檔中是數(shù)字地和模擬地分開 單點(diǎn)接地。 EVAL-AD760xS
    發(fā)表于 04-16 08:22

    stm32 DMA串口接收到數(shù)組,數(shù)組元素順序錯(cuò)亂怎么解決?

    配置DMA循環(huán)模式,使用HAL_UART_Receive_DMA(&huart1,buffer,4)函數(shù)將串口數(shù)據(jù)循環(huán)發(fā)送到4個(gè)元素的buffer數(shù)組內(nèi),上位機(jī)20ms發(fā)送一次數(shù)
    發(fā)表于 03-12 08:02

    詳解Linux sort命令之掌握排序技巧與實(shí)用案例

    linux系統(tǒng)使用過程中,提供了sort排序命令,支持常用的排序功能。 常用參數(shù) sort命令支持很多參數(shù),常用參數(shù)如下: ? 短參數(shù) 長參數(shù) 說明 -n – number-sort 按字符串?dāng)?shù)值
    的頭像 發(fā)表于 01-09 10:10 ?919次閱讀

    TimSort:一個(gè)標(biāo)準(zhǔn)函數(shù)庫中廣泛使用的排序算法

    計(jì)算機(jī)科學(xué)的領(lǐng)域,排序算法是每位學(xué)生必學(xué)的基礎(chǔ),而排序的需求是每位程序員在編程過程中都會(huì)遇到的。 在你輕松調(diào)用 .sort() 方法對數(shù)據(jù)進(jìn)行排序時(shí),是否曾好奇過,這個(gè)簡單的方法背后
    的頭像 發(fā)表于 01-03 11:42 ?566次閱讀

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

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

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

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

    C語言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組

    C語言數(shù)組應(yīng)用計(jì)算機(jī)導(dǎo)論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?1次下載

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

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

    數(shù)控車床m99令的用法

    對零件的尺寸進(jìn)行多次檢測。通過使用M99令,可以實(shí)現(xiàn)程序的循環(huán)調(diào)用,從而實(shí)現(xiàn)循環(huán)檢測?! ×?、M99令的注意事項(xiàng)  使用M99令時(shí),需要注意以下幾點(diǎn):  確保循環(huán)
    的頭像 發(fā)表于 10-23 15:52 ?2960次閱讀

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

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

    vca810作為中間級,寬帶直流放大器調(diào)試中出現(xiàn)自激現(xiàn)象怎么解決?

    vca810作為中間級,寬帶直流放大器調(diào)試中出現(xiàn)自激現(xiàn)象。放大信號的時(shí)候發(fā)現(xiàn)沒有,按照pdf上面電路的搭法沒有能夠?qū)崿F(xiàn)40dB的增益,大概25dB的時(shí)候
    發(fā)表于 09-26 07:41

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

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

    面試常考+1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

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

    NAND Flash的擦寫次數(shù)介紹

    NAND Flash作為非易失性存儲技術(shù)的重要一員,其擦寫次數(shù)是評估其性能和壽命的關(guān)鍵因素之一。以下將詳細(xì)介紹NAND Flash的擦寫次數(shù),包括其定義、不同類型NAND Flash的擦寫次數(shù)、影響因素、延長壽命的技術(shù)以及市場趨
    的頭像 發(fā)表于 07-29 17:18 ?5569次閱讀

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

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