#30627: c語言TLE


tinakga920029@gmail.com (云婷)

學校 : 金門縣金城國中
編號 : 190665
來源 : [218.173.75.121]
最後登入時間 :
2022-06-03 12:21:10
d732. 二分搜尋法 | From: [218.173.87.140] | 發表日期 : 2022-06-01 23:10

#include<stdio.h>
#include<stdlib.h>
int BinarySearch(int*,int,int,int);
int main(){
int int_length,int_quer;
int start=0,i,num;
scanf("%d%d",&int_length,&int_quer);
int *ptr=(int*)malloc(sizeof(int)*(int_length));//declare a pointer
for(i=0;i<int_length;i++){//用一個回圈把資料讀入
scanf("%d",&ptr[i]);
}
for(i=1;i<=int_quer;i++){//查詢幾次用一個回圈控制
scanf("%d",&num);
printf("%d\n",BinarySearch(ptr,start,int_length-1,num));//做二元搜尋(剛宣告陣列的指標,起始,終止,查詢值)
}
free(ptr);
return 0;
 
}
//採遞回方式
int BinarySearch(int*ptr,int start,int int_length,int num){
int min=(start+int_length)/2;
if(num==ptr[min]){
return min+1;
}
else if(num<ptr[min]){
return BinarySearch(ptr,start,min-1,num);
}
else if(num>ptr[min]){
return BinarySearch(ptr,min+1,int_length,num);
}
return 0;
}
 
#30642: Re: c語言TLE


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
d732. 二分搜尋法 | From: [59.115.23.60] | 發表日期 : 2022-06-02 20:25

#include
#include
int BinarySearch(int*,int,int,int);
int main(){
int int_length,int_quer;
int start=0,i,num;
scanf("%d%d",&int_length,&int_quer);
int *ptr=(int*)malloc(sizeof(int)*(int_length));//declare a pointer
for(i=0;i
scanf("%d",&ptr[i]);
}
for(i=1;i<=int_quer;i++){//查詢幾次用一個回圈控制
scanf("%d",&num);
printf("%d\n",BinarySearch(ptr,start,int_length-1,num));//做二元搜尋(剛宣告陣列的指標,起始,終止,查詢值)
}
free(ptr);
return 0;
 
}
//採遞回方式
int BinarySearch(int*ptr,int start,int int_length,int num){
int min=(start+int_length)/2;
if(num==ptr[min]){
return min+1;
}
else if(num
return BinarySearch(ptr,start,min-1,num);
}
else if(num>ptr[min]){
return BinarySearch(ptr,min+1,int_length,num);
}
return 0;
}


有可能沒有這個值

 
ZeroJudge Forum