在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}
题目考察的是排序+规格化输出: 容易让人理解的解法,首先进行排序,进而进行排序后的输出:
1 #include <iostream>
2 #include <algorithm> 3 using namespace std; 4 #define SIGN(x) ((x)>=0)?(1):(-1) 5 #define N 5 6 int Input[N]={3, 6, 1, 9, 7}; 7 int Output[N]; 8 9 void formatIO(int* input,int* output,int n) 10 { 11 int m=(N>>1); 12 int slid=-1; 13 if(N&0x01==0) 14 { 15 m+=1; 16 } 17 output[m]=Input[N-1]; 18 for(int i=N-2;i>=0;i--) 19 { 20 output[m+slid]=input[i]; 21 if(slid>0)slid=-(slid+1); 22 else slid=-(slid); 23 } 24 } 25 26 int main() 27 { 28 sort(Input,Input+N);//从小到大排序 29 formatIO(Input,Output,N); 30 for(int i=0;i<N;i++) 31 { 32 cout<<Output[i]<<","; 33 } 34 cout<<endl; 35 return 1; 36 } |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论