[HackerRank]挑戰指南(Intro to Tutorial Challenges)

題目描述

給定一個已排序的陣列ar和一個數字V,輸出陣列中元素為V的索引值。

原題網址

https://www.hackerrank.com/challenges/tutorial-intro

輸入格式

輸入有三行。第一行為一個整數V,表示要在陣列中搜尋的元素數值,範圍在-1000到1000之間(包含-1000和1000),且一定在陣列ar裡面。第二行為一個整數n,,為陣列的大小,範圍在1到1000之間(包含1和1000)。第三行有n個整數,表示陣列ar的所有元素,每個整數的範圍同整數V,且這n個數值不會重複。

輸出格式

輸出整數V在陣列ar的索引位置。

範例輸入

4
6
1 4 5 7 9 12

範例輸出

1

額外解釋

整數V為4,而4是在陣列中索引1的位置,所以輸出1。

解題概念

這題要實作數值型態的陣列搜尋,由於輸入已經是排序好的陣列,因此可以直接選擇使用線性搜尋或是更快速的二分搜尋演算法來尋找要找的目標元素。但由於這題其實已經保證了整數V一定在陣列ar裡面,而且整數V也比陣列內容還要更早就輸入,因此可以在讀取從標準輸入串流中傳進來的陣列元素數值的同時,就去判斷該索引的元素是否就是整數V,如果是的話,就可以直接輸出索引值了,而之後的輸入也可以不用理會。

參考答案

關於作者

Magic Len

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章