判斷少了哪一張牌

2021-06-03 02:00:45 字數 380 閱讀 3604

問題:有一副撲克牌(沒有大小天王),隨機從中抽出一張牌,問抽出的是哪一張牌(不管花色)?

請問,(1)如何設計乙個演算法能使得解決該問題的時間複雜度為o(n),空間複雜度為o(1)?

(2)如果隨機抽出兩張不同的牌呢,如何確定?

這個問題其實raid3-6等4種方式使用的資料校驗方式,可以恢復任意單個磁碟失效下的資料。

(2)可以使用對每個點數進行計數,採用a[13]來進行計數,在2*n的時間可以找出缺少的牌,但是空間複雜度卻不為o(1).

空間複雜度為o(1)的演算法

第一步對所有牌做一次異或得到值x,可以判定x不為0.

假設第k位為1,則將第k上為1的所有牌與x做異或,得到乙個值z,則z為其中乙個值。

z與x異或得到另乙個值。

根據一張表去更新另一張表

最近在改乙個專案,由於是別人做好的,很多資料表資訊不全。不得不手工用sql更新資料表。現在又這麼2張表 第一張是管理員表 id 使用者id c id 分公司id p id 部門id name 使用者名稱 第二張是訂單表 id 訂單id com id 訂單所屬銷售的公司id dep id 訂單所屬銷售...

MySQL中update一張表到另一張表

以下的文章主要介紹的是mysql 資料庫中如何將乙個實際應用表的相關資料插入到另外乙個表的實際操作方法,此方案看起來很簡單但是並非如此,雖然這個實現起來非常簡單,但是還是會困擾許多新手,因此專門發一篇文章備查。開發中,我們經常需要將乙個表的資料插入到另外乙個表,有時還需要指定匯入字段,雖然這個實現起...

將一張表的資料插入另外一張表

表cmb send sms create table cmb send sms send id bigint 20 not null auto increment comment 主鍵id phone no varchar 32 not null comment 手機號碼 status varcha...