衡阳派盒市场营销有限公司

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

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

3天內不再提示

搶火車票的算法是怎么實現的

數據分析與開發 ? 來源:程序員小飯 ? 作者:飯米粒 ? 2021-11-17 11:31 ? 次閱讀

導讀相信大家應該都有搶火車票的經驗,每年年底,這都是一場盛宴。然而你有沒有想過搶火車票這個算法是怎么實現的呢?其實并沒有你想的那么難。

12306搶票算法詳解我們以北京到西安這趟高鐵為例,比如我的路線就是從北京到西安,車上如果只剩最后一張票了,那么如果有其他人,在北京到西安這條路線之間買任何一站,那么我都是買不了票的,換句話說,對于單個座位來說,必須是起點到終點之間的所有站都沒有人買的話,那么才能被算是有票狀態。

所以我們可以嘗試用redis的bitmap結合上位操作來實現這種場景,以上述北京到西安為例,我們把問題簡化:

比如一個火車上只有4個座位;

北京到西安,一共是4站,其實是三個區間的,分別為北京-》石家莊,石家莊-》鄭州,鄭州-》西安。

首先我們給每個區間構建一個空位圖(0為有票,1為無票)。接下來,比如有人買了一張從北京到西安的票。買票這個動作,比如被分配到的座位是編號為1的座位,那么我們直接把北京到西安的所有站,1號座位全部設置為1

接下來又有人買了一張從石家莊到西安的票。比如這次分配的是座位2,那么我們把石家莊到西安的所有票全部設置為1就行了

如何知道還剩幾張票?其實解決這個問題很簡單,我們直接把上述位圖做一個或操作就可以了,因為或操作是必須全部都為0,才為0。

或操作結果有幾個0,則說明還剩幾張票。

總結其實解決這個問題主要在于位圖的構建,因為火車票對于某一個座位來說,只要起點到終點中間某一個區間被占用了(置為1),那么整個座位都是無效的這個特點,很容易想到用或操作的結果來判斷買票結果,我們這里只用了4位是為了方便說明問題,實際中應該是火車上有多少座位,位圖的長度就應該是多少。

好了,關于搶票算法我們就介紹到這里,你有沒有get到呢?或者你有沒有更好的實現方法呢?

責任編輯:haq

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

    關注

    23

    文章

    4630

    瀏覽量

    93364

原文標題:12306 搶票算法被曝光了,居然這么簡單!

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問ads1292算法支持實現疲勞監測嗎?

    請問ads1292算法支持實現疲勞監測么,或者有什么更好的電極式其它方案來實現
    發表于 12-03 06:19

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+內容簡介

    內容簡介這是一本深入解讀基礎算法及其電路設計,以打通算法研發到數字IC設計的實現屏障,以及指導芯片設計工程師從底層掌握復雜電路設計與優化方法為目標的專業技術書。任何芯片(如WiFi芯片、5G芯片
    發表于 11-21 17:14

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+介紹基礎硬件算法模塊

    作為嵌入式開發者往往比較關注硬件和軟件的協調。本書介紹了除法器,信號發生器,濾波器,分頻器等基本算法的電路實現,雖然都是基礎內容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢的出現,過去的研發
    發表于 11-21 17:05

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+一本介紹基礎硬件算法模塊實現的好書

    作為嵌入式開發者往往比較關注硬件和軟件的協調。本書介紹了除法器,信號發生器,濾波器,分頻器等基本算法的電路實現,雖然都是基礎內容,但是也是最常用到的基本模塊,本書的內容比較對本人胃口。 我們先來
    發表于 11-20 13:42

    Pure path studio內能否自己創建一個component,來實現特定的算法,例如LMS算法

    TLV320AIC3254EVM-K評估模塊, Pure path studio軟件開發環境。 問題:1.Pure path studio 內能否自己創建一個component,來實現特定的算法
    發表于 11-01 08:25

    請問TLV320AIC3256 mini DSP是否能實現降噪算法?

    我想做一款設備實現雙MIC 降噪,請問TLV320AIC3256 mini DSP是否能實現降噪算法?如果不行,是否還有相近的芯片推薦
    發表于 10-24 08:01

    訊飛星火最新上線插件入口

    為了讓自己的電腦更好用,每個開發者或多或少都給瀏覽器裝上過各種插件,用來攔截廣告、快捷截圖、管理腳本甚至車票等等。如今插上大模型的雙翼,瀏覽器插件在保持身輕如燕的同時,集中處理更為專業和高階的任務已經成為可能。
    的頭像 發表于 10-23 15:49 ?560次閱讀

    位移傳感器在火車軌道上的應用

    火車軌道是鐵路交通系統的重要組成部分,監測和控制其安全運行至關重要。在火車軌道的管理和維護中,位移傳感器發揮著重要作用。這些傳感器將機械位移轉化為電信號,實現對軌道變形和位移的準確測量和監測。
    的頭像 發表于 10-09 15:56 ?320次閱讀

    名單公布!【書籍評測活動NO.46】從算法到電路 | 數字芯片算法的電路實現

    :elecfans123)領取書籍進行評測,如在5個工作日內未聯系,視為放棄本次試用評測資格! 《從算法到電路——數字芯片算法的電路實現》 是一本深入解讀基礎算法及其電路設計,以打通
    發表于 10-09 13:43

    C加密算法實現

    電子發燒友網站提供《C加密算法實現.pdf》資料免費下載
    發表于 09-20 11:10 ?1次下載
    C加密<b class='flag-5'>算法</b>的<b class='flag-5'>實現</b>

    激光跟蹤儀在火車軌道檢測中的應用

    一、背景火車作為中國境內的一種交通運輸形式,是國家的重要基礎設施和大眾化的交通工具,在中國綜合交通運輸體系中處于骨干地位。隨著技術發展,我國火車的運行速度也不斷提升,對軌道的穩定運行提出了新要求
    的頭像 發表于 09-15 08:03 ?347次閱讀
    激光跟蹤儀在<b class='flag-5'>火車</b>軌道檢測中的應用

    行業智能化的“火車頭效應”,由星河AI金融網絡啟動

    星河AI金融網絡“通車時刻”,聽見行業智能化的“火車頭”轟鳴
    的頭像 發表于 08-23 09:15 ?2541次閱讀
    行業智能化的“<b class='flag-5'>火車</b>頭效應”,由星河AI金融網絡啟動

    FPGA能實現什么樣的算法

    FPGA功能如此強大,請問用FPGA能實現或者比較適合實現什么樣的算法
    發表于 05-26 20:18

    中國鐵路網的Dijkstra算法實現案例

    該項目分別在DE1-SOC開發板的FPGA和HPS上實現了Dijkstra算法,能在中國鐵路網中找到兩站之間的最短距離和路線。
    的頭像 發表于 04-09 11:10 ?692次閱讀
    中國鐵路網的Dijkstra<b class='flag-5'>算法</b><b class='flag-5'>實現</b>案例

    請問ST25RU3993-HPEV的自適應防碰撞算法是在板子上面實現的嗎?

    請問ST25RU3993-HPEV的自適應防碰撞算法是在板子上面實現的?還是在STSW-ST25RU001上位機上面實現的?這個算法可否提供?STSW-ST25
    發表于 03-19 06:50
    银河百家乐的玩法技巧和规则 | 什么是百家乐官网赌博| 威尼斯人娱乐城信誉怎样| 百家乐官网技巧经| 百家乐官网网上赌博| 大发888体育娱乐场| 最大的百家乐网站| 百家乐官网赌博导航| 真人游戏百家乐| 大发888 娱乐| 百家乐博娱乐场| 百家乐官网麻将筹码币| 新奥博百家乐官网娱乐城| 九台市| 大发888信誉最新娱乐| 百家乐专用台布| 网上玩百家乐犯法| 济州岛百家乐官网的玩法技巧和规则| 东台市| 博9网娱乐| 娱网棋牌下载| 大发888新澳博| 百家乐路单统| 百家乐游戏免费试| 百家乐编单短信接收| 疯狂百家乐官网游戏| 龍城百家乐官网的玩法技巧和规则 | 亚洲博彩网| 大发888官方 hplsj| 天津水果机遥控器| 大发888方管下载| fl水果机教程| 赌球记| 大发888游戏平台 送1666元礼金领取lrm | 澳门百家乐娱乐平台| 网上百家乐游戏下载| 广州百家乐牌具公司| 中华百家乐娱乐城| 百家乐分析仪有真的吗| 易胜博百家乐娱乐城| A8百家乐赌场娱乐网规则|