題目:
度度熊有乙個n個數的陣列,他想將陣列從小到大 排好序,但是萌萌的度度熊只會下面這個操作:
任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。
問最少操作多少次可以使得陣列從小到大有序?
思路:
直接舉例。
例如序列為:18,3,14,4,23,5,59,6,17
看我圖上標記的數字沒,這些數字都是不需要被扔到最後乙個位置的,因為它們的相對位置已經是正確的了。其他的數字都需要扔到最後乙個位置去。每次選擇其中最小的乙個元素往後仍,你會發現,需要仍的次數正好就是這些剩下元素的個數。
**實現:
#include
#include
#include
using
namespace std;
intmain()
sort
(sorted_nums.
begin()
, sorted_nums.
end())
;int s_i =0;
int count =0;
for(
int i =
0; i < nums.
size()
;++i)
}
cout << n-count << endl;
}
百度 有趣的排序
題目 度度熊有乙個n個數的陣列,他想將陣列從大到小排好序,但是萌萌的度度熊只會下面這個操作 任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。問最少操作多少次可以使得陣列從小到大有序?輸入描述 輸出乙個整數表示最少的操作次數。輸入例子 419 7 8 25 輸出例子 2 思路 整體思路是將未排序的...
(百度17春招筆試題)有趣的排序
時間限制 1秒 空間限制 32768k 度度熊有乙個n個數的陣列,他想將陣列從小到大 排好序,但是萌萌的度度熊只會下面這個操作 任取陣列中的乙個數然後將它放置在陣列的最後乙個位置。問最少操作多少次可以使得陣列從小到大有序?輸入描述 首先輸入乙個正整數n,接下來的一行輸入n個整數。n 50,每個數的絕...
百度筆試題
一 選擇題 15分 共10題 1.在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 a.shell排序 b.歸併排序 c.直接插入排序 d.選擇排序 2.以下多執行緒對int型變數x的操作,哪幾個需要進行同步 a.x y b.x c.x d.x 1 3.void func 中,變數val的記憶體...