国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PAT-B 1008. 數組元素循環右移問題 (20)

2019-11-10 17:10:20
字體:
來源:轉載
供稿:網友

題目鏈接在此。

雖然這個題目在題干中有非常多的限制,“不允許有額外數組”、“移動次數最少”等等,但是PAT是一個黑盒測試,只需要結果正確,能過通過所有測試點即可。所以不需要被這些限制所限制,這里只寫出兩種方法, 一種是我自己的想法,用了“簡單模擬”的思想,即題目說“數組右移”,那么我就數組右移,故這種方法的關鍵就在如何右移數組;另外一種方法是《算法筆記》中的,這種方法更加直接,直接按照一定的規律輸出,甚是巧妙。

下面是我的代碼:

#include<stdio.h>int main(){ int N,M; int a[105]; scanf("%d %d",&N, &M); M = M % N; //題目并沒有保證M<N for( int i = 0 ; i < N; i++){ scanf("%d",a+i); } if(M == 0){ for(int i = 0 ; i < N; i++){ if( i == N-1){ 下面是《算法筆記》的代碼:

#include<stdio.h>int main(){ int N,M; int a[105]; scanf("%d %d",&N,&M); M = M % N; for(int i = 0 ; i < N; i++){ scanf("%d",a+i); } int count = 0; //用來計數,為"最后一個元素不輸出空格服務" for(int i = N-M; i < N; i++){ count++; printf("%d",a[i]); if(count < N){ printf(" "); } } for(int i = 0 ; i < N-M; i++){ count++; printf("%d",a[i]); if(count < N){ printf(" "); } } return 0;}這個方法就是找到了元素輸出的規律,然后代碼實現之。

《算法筆記》購買地址。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钟祥市| 马龙县| 墨竹工卡县| 甘肃省| 五莲县| 黄龙县| 富阳市| 鹤峰县| 靖西县| 耒阳市| 琼海市| 清丰县| 怀宁县| 双城市| 水城县| 运城市| 湖口县| 河北区| 宣威市| 屯留县| 南澳县| 松原市| 龙山县| 轮台县| 福清市| 西昌市| 临汾市| 桐城市| 福清市| 讷河市| 容城县| 东丰县| 连江县| 河北省| 闻喜县| 西峡县| 平遥县| 盘山县| 南江县| 乾安县| 宜君县|