一個 n n n 個元素的整數(shù)數(shù)組,如果數(shù)組兩個連續(xù)元素之間差的絕對值包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù),則稱之符合“歡樂的跳”,如數(shù)組 { 1 , 4 , 2 , 3 } \{1,4,2,3\} {1,4,2,3} 符合“歡樂的跳”,因?yàn)椴畹慕^對值分別為: 3 , 2 , 1 3,2,1 3,2,1。
給定一個數(shù)組,你的任務(wù)是判斷該數(shù)組是否符合“歡樂的跳”。
二、輸入格式每組測試數(shù)據(jù)第一行以一個整數(shù) n ( 1 ≤ n ≤ 1000 ) n(1 \le n \le 1000) n(1≤n≤1000) 開始,接下來 n n n 個空格隔開的在 [ ? 1 0 8 , 1 0 8 ] [-10^8,10^8] [?108,108] 之間的整數(shù)。
三、輸出格式對于每組測試數(shù)據(jù),輸出一行若該數(shù)組符合“歡樂的跳”則輸出Jolly
,否則輸出Not jolly
。
4 1 4 2 3
(2)樣例輸出1Jolly
(3)樣例輸入25 1 4 2 -1 6
(4)樣例輸出2Not jolly
五、提示1 ≤ n ≤ 1000 1 \le n \le 1000 1≤n≤1000
六、正確代碼import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
int[] b = new int[n - 1];
int[] c = new int[n - 1];
for (int i = 0; i< n; i++) {
a[i] = sc.nextInt();
}
for (int i = 0; i< n - 1; i++) {
b[i]=Math.abs(a[i+1]-a[i]);
}
for (int j = 0; j< n - 1; j++) {
for (int i = 1; i<= n - 1; i++) {
if (b[j] == i){
c[i - 1] = 1;;
break;
}
}
}
for (int i = 0; i< n - 1; i++) {
while (c[i] == 0){
System.out.println("Not jolly");
System.exit(0);
}
}
System.out.println("Jolly");
}
}
七、注意點(diǎn)以及思路
(1)注意點(diǎn)這道題我一開始怎么都寫不對,但又覺得自己非常正確,最后發(fā)現(xiàn)自己讀錯題了啊啊啊啊。我把題意理解成了數(shù)組中兩個連續(xù)元素之差必須包含在這個數(shù)組之中,題目中的案例 {1,4,2,3}還滿足了我以為的那個條件,然后就錯的一發(fā)不可收拾了。。。。
從此明白了做題前要先認(rèn)真讀題啊
(2)思路①首先認(rèn)真讀題,理解題意
②進(jìn)行準(zhǔn)備工作
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
int[] b = new int[n - 1];
int[] c = new int[n - 1];
for (int i = 0; i< n; i++) {
a[i] = sc.nextInt();
}
③使用數(shù)組b存儲兩個連續(xù)元素之間差的絕對值,數(shù)組大小為n-1
for (int i = 0; i< n - 1; i++) {
b[i]=Math.abs(a[i+1]-a[i]);
}
此處要用到求絕對值的方法:Math.abs()
④對數(shù)組c進(jìn)行賦值
for (int j = 0; j< n - 1; j++) {
for (int i = 1; i<= n - 1; i++) {
if (b[j] == i){
c[i - 1] = 1;
break;
}
}
}
⑤對數(shù)組c進(jìn)行判斷
for (int i = 0; i< n - 1; i++) {
while (c[i] == 0){
System.out.println("Not jolly");
System.exit(0);
}
}
System.out.println("Jolly");
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:(Java)歡樂的跳-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://newbst.com/article32/doospc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、域名注冊、全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容