1. 程式人生 > >有一組數字,從1到n,從中減少了3個數,順序也被打亂,放在一個n-3的數組裡,請找出丟失的數字,最好能有程式,最好演算法比較快...

有一組數字,從1到n,從中減少了3個數,順序也被打亂,放在一個n-3的數組裡,請找出丟失的數字,最好能有程式,最好演算法比較快...

static void Main() { GetRemoveNumbers(1000, 3).ForEach(n => Console.WriteLine("{0}", n)); } public static List<int> GetRemoveNumbers(int count,int removeCount) { List<int> preNumbers = new List<int>(); int start = 1; while (start < count) { preNumbers.Add(start); start++; } var updateNumbers = (from number in preNumbers select number).ToList(); int random = int.MinValue; Random rd = new Random(); for (int i = 0; i < removeCount; i++) { random = (rd.Next(1, count)); updateNumbers.Remove(random); } return preNumbers.Except(updateNumbers).ToList(); }

相關推薦

程式設計實現: 資料中只有一個數字出現次。其他所有數字都是成對出現的。 這個數字。(使用位運算)

可以在指定陣列中找出只出現一次的元素 #include<stdio.h> int main() { int arr[] = { 1, 3, 4, 3, 1}; int i = 0; int len = sizeof(arr) / sizeof(ar

程式設計實現: 資料中只有一個數字出現次。其他所有數字都是成對出現的。 這個數字

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int query(int a[], int size){ for (int i = 1; i < size;++i){ a[

資料中只有一個數字出現次。 其他所有數字都是成對出現的。這個數字(陣列指標的方法)

(一)思考思路 例: 一組資料中只有一個數字出現了一次 資料:arr[]={1 ,3 ,5 ,7, 1, 3, 5}這組資料中,只有7出現了一次。 結構:找到的數就是:7. 1:對於這樣的一個數組,我們應該使用函式呼叫的辦法來實現,使得整個程式清晰可見 2:要找出這樣的數,

資料中只有一個數字出現次。 其他所有數字都是成對出現的。這個數字。(使用位運算)

注意:若陣列總和為單數且執行兩兩匹配一定有單數             若陣列總和為雙數則先求最大奇陣列的單數與最後一個元素比較,若不同則有兩個單數,若相同則沒有單數     如{ 1, 3, 5, 7, 1, 3, 5}顯示單數為7 ;      { 1, 3, 5,

華為、阿里戰:先搶人開始!

  一名在華為幹了八年的老員工最近拿了阿里的offer,有些糾結,其畢業後就在華為工作,一干就是八年,級別也到了令人羨慕的18級,最近其試著跳槽,拿到了阿里P8級別。按理說這級別也不低了,但就是工資不太美麗,於是一頓吐槽:華為應屆8年18級,目前收到阿里的offer,p8,薪資45k,

php將一個二維按照某個字段值合並成如果重復則將重復的合並成二維

字段 轉載 () num 精簡 val 特定 數組 brush 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 最近工作中碰到一個問題,用PHP將一個二維數組按照二維數組中的各個項中的某個特定字段值合並成一維數組,如果有重復則將重復的合並成二維數組,生成的二維數組

題目描述 在一個二維數組中(每個數組的長度相同)每一行都按照左到右遞增的順序排序列都按照上到下遞增的順序排序。完成一個數,輸入這樣的一個二維數組一個整數判斷數組中是否含有該整數。

這樣的 -i 一個 整數 描述 輸入 遞增 lse i+1 題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 1

資料中只有一個數字出現其他所有數字都是成對出現的。個數。(使用位運算)

連續異或即可得到這個數 #include <windows.h> #include <sdilo.h> int find(int a[],int len) { int ret = 0; int i = 0; for (i = 0; i < len;

劍指-OFFER_3 java_在一個長度為n數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的但不知道幾個數字是重複的。不知道每個數字重複幾次。請找出陣列中任意一個重複的數字

題源:  在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。   例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是第一個重複的數字

個數只有一個數字僅出現其他數字均出現兩次這個數字

要求:不借助任何空間 我們知道:a^0 = a,a^a = 0,因此這裡可以藉助異或運算可以實現。 具體實現如下: public class SingleNum { /**

典型的Top K演算法 _找出一個數組裡面前K個最大數_找出1億個浮點數中最大的10000個_一個文字檔案,找出前10個經常出現的詞但這次檔案比較長說是上億行或十億行總之無法次讀入記憶體.

        搜尋引擎會通過日誌檔案把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。         假設目前有一千萬個記錄(這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。一個查詢串的重複度越高,說明查詢

將自然數1--9這九個數分成三將每的三個數字拼成三位數每個數字重複且每個三位數都是完全平方這樣的三個三位數。

program p1;var a:array[1..3]of integer;    i,j,k,x:integer;function yes:boolean;var i:integer;    d:set of 0..9;begin d:=[]; for i:=1 to 3 do  d:=d+[a[i] d

輸入一個正整數裏所有數字拼接起來排成個數。打印拼接所有數字中最小的一個

style void ole min 一個數 string right public [] 題目: 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數。打印能拼接出所有數字中最小的一個。 解答: 1 public class Solution { 2 3

一個無序整數連續增長片段最長的段, 增長步長是1。Example: [3,2,4,5,6,1,9], 最長的是[4,5,6]

lse [] 是我 == push color 感覺 bsp emp 在一個無序整數數組中,找出連續增長片段最長的一段, 增長步長是1。Example: [3,2,4,5,6,1,9], 最長的是[4,5,6] 下面是我自己的編寫的代碼,感覺還能再優化。 希望有大神可以分享

設計一個演算法 A[1:n] 中同時最大元素和最小元素只需要不超過 1.5n-2 次比較

題目:設計一個演算法從數A[1:n]中同時找出最大元素和最小元素,只需要不超過1.5n-2次比較。 #include <stdio.h> #define MIN -1 #define MAX 65535 void find_max_min( int num[], int len ) {