美團聯手商家,釋出河南災區臨時安置酒店資訊
阿新 • • 發佈:2021-07-21
題目
二分查詢 給定一個 n 個元素有序的(升序)整型陣列 nums 和一個目標值 target ,寫一個函式搜 索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 示例 1: 輸入: nums = [-1,0,3,5,9,12], target = 9 輸出: 4 解釋: 9 出現在 nums 中並且下標為 4 示例 2: 輸入: nums = [-1,0,3,5,9,12], target = 2 輸出: -1 解釋: 2 不存在 nums 中因此返回 -1 提示: 你可以假設 nums 中的所有元素是不重複的。 n 將在 [1, 10000]之間。 nums 的每個元素都將在 [-9999, 9999]之間。
思路
輸入一組資料,然後遍歷查詢,符合條件的就輸出結果
程式碼塊
C++
#include <iostream> #include <string> using namespace std; void main(){ int n; cin>>n; int i = 0; int *nums = new int[n]; int target; for(i=0;i<n;i++){ cin>>nums[i]; } cin>>target; for(i=0;i<n;i++){ if(target==nums[i]){ cout<<i; } } return ; }
Java
import java.util.Scanner; public class twiceSeek { public static void main(String[] args) { int n; Scanner in = new Scanner(System.in); n = in.nextInt(); int i = 0; int[] nums= new int[n]; int target; for(i=0;i<n;i++){ nums[i] = in.nextInt(); } target = in.nextInt(); for(i=0;i<n;i++) { if (target == nums[i]) { System.out.print(i); } } } }