真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

(Java)歡樂的跳-創(chuàng)新互聯(lián)

歡樂的跳
    • 一、題目描述
    • 二、輸入格式
    • 三、輸出格式
    • 四、樣例
      • (1)樣例輸入1
      • (2)樣例輸出1
      • (3)樣例輸入2
      • (4)樣例輸出2
    • 五、提示
    • 六、正確代碼
    • 七、注意點以及思路
      • (1)注意點
      • (2)思路

成都創(chuàng)新互聯(lián)公司是專業(yè)的曲沃網(wǎng)站建設(shè)公司,曲沃接單;提供網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行曲沃網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!一、題目描述

一個 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} 符合“歡樂的跳”,因為差的絕對值分別為: 3 , 2 , 1 3,2,1 3,2,1。

給定一個數(shù)組,你的任務是判斷該數(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。

四、樣例 (1)樣例輸入1
4 1 4 2 3
(2)樣例輸出1
Jolly
(3)樣例輸入2
5 1 4 2 -1 6
(4)樣例輸出2
Not 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");
    }
}

在這里插入圖片描述

七、注意點以及思路 (1)注意點

這道題我一開始怎么都寫不對,但又覺得自己非常正確,最后發(fā)現(xiàn)自己讀錯題了啊啊啊啊。我把題意理解成了數(shù)組中兩個連續(xù)元素之差必須包含在這個數(shù)組之中,題目中的案例 {1,4,2,3}還滿足了我以為的那個條件,然后就錯的一發(fā)不可收拾了。。。。

從此明白了做題前要先認真讀題啊

請?zhí)砑訄D片描述

(2)思路

①首先認真讀題,理解題意

  • 讀入一個 n n n 個元素的整數(shù)數(shù)組,判斷數(shù)組兩個連續(xù)元素之間差的絕對值是否包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù),如果包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù)就輸出Jolly,否則就輸出Not jolly。

②進行準備工作

  • 讀入數(shù)組中的元素個數(shù)n和數(shù)組
  • 創(chuàng)建數(shù)組a,用來存儲輸入的數(shù)組元素,數(shù)組大小為n
  • 創(chuàng)建數(shù)組b,用來存儲兩個連續(xù)元素之間差的絕對值,數(shù)組大小為n-1
  • 創(chuàng)建數(shù)組c,用來做標記,判斷是否數(shù)組兩個連續(xù)元素之間差的絕對值包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù)
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進行賦值

  • 使用雙重for循環(huán):外層循環(huán)用來遍歷兩個連續(xù)元素之間差的絕對值,即數(shù)組b;內(nèi)層循環(huán)遍歷 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù)
  • 循環(huán)內(nèi)放入if語句進行判斷:用j作為下標遍歷b數(shù)組中的每一個元素,將其與 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 中的元素每一個進行比較,若相等,則將c[i - 1]賦值為1,并退出內(nèi)層循環(huán)。
  • 循環(huán)結(jié)束后,c數(shù)組中以 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 中數(shù)字減一作為下標各個元素,若為0,則表示此元素未曾在數(shù)組b中出現(xiàn)過,即數(shù)組兩個連續(xù)元素之間差的絕對值不是包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù)
  • 但若數(shù)組c中以 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 中數(shù)字減一作為下標各個元素都為1,則表示 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 所有的數(shù)字都在數(shù)組b中出現(xiàn)過,即數(shù)組兩個連續(xù)元素之間差的絕對值包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù)
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進行判斷

  • 遍歷c數(shù)組中的每一個元素
  • 只要遍歷到c數(shù)組中有一個0,則代表數(shù)組兩個連續(xù)元素之間差的絕對值不是包括了 [ 1 , n ? 1 ] [1,n-1] [1,n?1] 之間的所有整數(shù),輸出Not jolly并終止程序
  • 終止程序的代碼是:System.exit(0);
  • 但若將數(shù)組c中沒有一個0,就不會執(zhí)行while語句中的內(nèi)容,會退出循環(huán)并執(zhí)行輸出Jolly的語句
for (int i = 0; i< n - 1; i++) {
            while (c[i] == 0){
                System.out.println("Not jolly");
                System.exit(0);
            }
        }
        System.out.println("Jolly");

請?zhí)砑訄D片描述

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁名稱:(Java)歡樂的跳-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/doospc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部