消失的數字

2022-05-13 23:51:01 字數 1153 閱讀 9606

a 消失的數字

檔名 輸入檔案 輸出檔案 時間限制 空間限制

del.cpp/c/pas del.in del.out 1s 512mb

題目描述

現在,我的手上有 n 個數字,分別是 a 1 ,a 2 ,a 3 ,...,a n 。

我現在需要刪除其中的 k 個數字。當然我不希望隨隨便便刪除,我希望刪除 k

個數字之後,剩下的 n − k 個數中有最多的不同的數。

輸入格式

第一行兩個正整數 n 和 k,含義如題目描述。

接下來一行,有 n 個非負整數,分別是 a 1 到 a n 。

輸出格式

一共一行,乙個整數 ans,表示刪除了 k 個數字後最多的不同的數的個數。

樣例輸入

4 11 3 1 2

樣例輸出

3樣例解釋

如果刪去第乙個 1:

在[3,1,2]中有 3 個不同的數

如果刪去 3:

在[1,1,2]中有 2 個不同的數

如果刪去第二個 1:

在[1,3,2]中有 3 個不同的數

2如果刪去 2:

在[1,3,1]中有 1 個不同的數

資料範圍

對於 30% 的資料,n ≤ 10,a i ≤ 10。

對於 60% 的資料,n ≤ 100,a i ≤ 100。

對於 80% 的資料,n ≤ 10 5 ,a i ≤ 10 5 。

對於 100% 的資料,n ≤ 10 5 ,a i ≤ 10 9 。

木問題;

#include#include

#include

#include

#include

#include

using

namespace

std;

intn,k;

int a[100009

];int

ans,sum;

intmain()

sum=1

;

for(int i=2;i<=n+1;i++)

else

}if(k>0

)

ans-=k;

cout

return0;

}

消失的數字

給定乙個陣列a,長度為n,保證1 a i n,找出1 n中所有未出現的數字,不使用額外空間且時間複雜度為o n 如果可以使用額外空間,我們會使用一塊額外空間來記錄某乙個數字是否出現過,遍歷一遍a來更新額外空間狀態,然後遍歷額外空間來獲得未出現的數字。現在不允許使用額外空間,我們可以不可以直接在陣列上...

消失的數字(高斯求和)

題目描述 電影 密室逃生 講述的是一群密室逃脫愛好者,被乙個 博士關在乙個布滿機關的密室中,密室逃脫愛好者們要想盡辦法逃出密室的故事。今天lzy也被抓起來丟到了一間密室裡,限定lzy 半小時內逃出去,否則他將被永遠困在密室當中。這間密室中,只有牆壁上寫著一大串密密麻麻的數字,這些數字是 0 n 中的...

找出陣列中消失的數字

思路 這裡我是用了常規做法,使用雜湊表來儲存陣列中元素,然後查詢出不存在的數字。但是違反了題目中不使用額外空間的要求。class solution for int i 1 i nums.length i return list 思路 由於題目中不能使用額外空間的設定,所以這裡精巧的將每個數字出現過的...