1. 程式人生 > >JS和java在牛客程式設計題上輸入輸出的總結

JS和java在牛客程式設計題上輸入輸出的總結

JS:

舉例說明

簡單來說,輸入資料用readline()讀取,輸出結果用print() 或console.log()輸出,下面舉幾個例子:

1.輸入一行,輸出一行

var line = readline();
print();
//或者
while(line = readline()){
    //Do some operation
    print();
}

2.輸入兩行,輸出一行

var line = readline();
var num = parseInt(readline());
print();

3.輸入資料有多組,每組單獨佔一行,對於輸入的每組資料,對應輸出多組,每組單獨佔一行(這種情況和例子1是一樣的處理方法)

var line = readline();
print();
//或者
while(line = readline()){
    //Do some operation
    print();
}

4.輸入資料有多組,每組佔兩行,對於輸入的每組資料,對應輸出多組,每組單獨佔一行(這種情況和例子2是一樣的處理方法)

var line = readline();
var num = parseInt(readline());
print();

5.輸入資料第一行表示測試樣例數,接下來的n行表示n組測試樣例,對於輸入的每組測試樣例,對應輸出n組資料

var num = parseInt(readline());
while(line = readline()){
    //Do some operation
    print();
}

6.輸入n行,輸出一行

while(line = readline()){
    //Do some operation
}
print();

注意:上面的例子是讀取輸入資料和輸出資料,讀取到的資料還要處理。 
例如輸入包括一行,用空格分開的兩個正整數,那麼用var line = readline()讀取到輸入資料之後,還要將讀取到的字串轉為陣列var arr = line.split(' ');然後經過var num1 = parseInt(arr[0]), num2 = parseInt(arr[1])讀取到輸入的兩個正整數。總之,還需要多實踐,慢慢就知道牛客網線上程式設計的套路了

java:

1、

//輸入描述:

//輸入包括2行:

//第一行為整數n(1 <= n <= 50),即抹除一個數之後剩下的數字個數

//第二行為n個整數num[i] (1 <= num[i] <= 1000000000)

import java.util.*;
public class Next {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int N=sc.nextInt();
        int[] num = new int[N];
        for (int i = 0; i < N; i++) {
            num[i] = sc.nextInt();
        }
        //System.out.println("hallo");
    }

}

2、

import java.util.*;
public class Main{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char[] arr = str.toCharArray();
   }}

3、

輸入描述:

輸入包括n+1行:

第一行為單詞個數n(1 ≤ n ≤ 50)

接下來的n行,每行一個單詞word[i],長度length(1 ≤ length ≤ 50)。由小寫字母構成

輸出描述:

輸出迴圈單詞的種數

輸入例子:

5
picture
turepic
icturep
word
ordw

輸出例子:

2

package string.test;
import java.util.Scanner;
public class Demo1 {
    private int N;
    private String[] arr;
    private int count;
    public static void main(String[] args) {
        Demo1 demo = new Demo1();
        Scanner sc = new Scanner(System.in);
        demo.N = sc.nextInt();
        demo.arr = new String[demo.N];
        for (int i = 0; i < demo.N; i++) {
            String str = sc.next();
            demo.solve(str);
        }
        System.out.println(demo.count);
        for (int i = 0; i < demo.count; i++) {
            System.out.println(demo.arr[i]);
        }
        sc.close();
    }
    private void solve(String str) {
        if (count == 0) {
            arr[0] = str + str;
            count++;
            return;
        }
        boolean flag = false;
        int num = count;
        for (int i = 0; i < num; i++) {
            //如果包含該單詞,吧flag設定成ture,迴圈結束要記得把flag重新設定成false
            if (judge(arr[i], str)) {
                flag = true;
                break;
            }
        }
        if (flag != true) {
            arr[count++] = str + str;
 
        }
        flag = false;
    }
    /*
     * 如果str1包含str2.則返回true
     */
    private boolean judge(String str1, String str2) {
        if (str1.length() == str2.length())
            return false;
        //這裡必須要驗證str2是否為str1的一半,否則會無法通過
        if (str1.contains(str2) && str1.length() == str2.length() * 2)
            return true;
        return false;
    }
}
 

相關推薦

JSjava程式設計輸入輸出總結

JS: 舉例說明 簡單來說,輸入資料用readline()讀取,輸出結果用print() 或console.log()輸出,下面舉幾個例子: 1.輸入一行,輸出一行 var line = readline(); print(); //或者 while(line = r

程式設計:遊船出租

題目描述: 現有公園遊船租賃處請你編寫一個租船管理系統。當遊客租船時,管理員輸入船號並按下S鍵,系統開始計時;當遊客還船時,管理員輸入船號並按下E鍵,系統結束計時。船號為不超過100的正整數。當管理員將0作為船號輸入時,表示一天租船工作結束,系統應輸出當天的遊客租船次數和平均租船時間。 注意

程式設計:彩色寶石項鍊

彩色寶石項鍊 題目描述: 有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡翠,珍珠等。有一天國王把項鍊賞賜給了一個學者,並跟他說,你可以帶走這條項鍊,但是王后很喜歡紅寶石,藍寶石,紫水晶,翡翠和鑽石這五種,我要你從項鍊中擷取連續的一小段還給我,這一段中必須包含

句子反轉——java

++ () ring system for 字母 ext style scan 題目描述: 給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。 比如: (1) “hello xiao mi”-> “mi

程式設計馬拉松第一天(兩

第一題 迴圈數 第二題 鴿兔同校 迴圈數 : 142857是一個六位數,我們發現: 142857 * 1 = 142857 142857 * 2 = 285714 142857 * 3 = 428571 142857 * 4 = 571428 142857 * 5 =

序列子區間問題(西安電子科技大學第16屆程式設計競賽 E Xieldy And His Password,U14739 X ask Y III 子區間異或練習賽16 E求值)

序列子區間問題一般都是問你,求序列子區間的和的和...異或和的和..和的異或和...和是3的倍數的個數... 這類問題一般都是用(字首和+)記錄狀態的陣列來實現,將O(n*n)的複雜度降為O(k*n)(k為常數) 這類問題可以從如何優化遍歷以i為結尾的連續子序列的複雜

jsjava中使用正則表達式校驗郵箱

reg 表達 mat 表達式 正則表達式 javascrip 格式 正則 pri 問題:經常在項目中要校驗郵箱?   郵箱格式:首位必須為字母,必須包含一個@符號,並且@之後有個名字,之後還有個.,再有一個後綴名   例如:[email protected]   一、java

數串——

拼接 public 最大整數 sys tint 比較 ont min 16px 題目描述: 設有n個正整數,將他們連接成一排,組成一個最大的多位整數。 如:n=3時,3個整數13,312,343,連成的最大整數為34331213。 如:n=4時,4個整數7,13,4,2

day04

描述: 輸入一個整數,將這個整數以字串的形式逆序輸出 程式不考慮負數的情況,若數字含有0,則逆序形式也含有0,如輸入為100,則輸出為001 import java.util.Scanner; public class Main { public static void main(

jsJava分別正則匹配小數點後多餘的0

var dd = "2.0010萬抵10.00萬"; var aa = dd.match(/\d+\.\d+/g); for ( var index in aa) { dd = dd.replace(aa[index],pa

66(8)跳臺階

一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 假設有1階有1種方法; 假設有2階有2種方法; 假設有3階有(2,1),(1,2),(1,1,1)3種方法; 假設有4階(1,1,1,1)(2,1,1)(1,2,1

66(7)斐波那契數列

大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39;斐波那契數列特徵為除第一項與第二項外其餘項均為前兩項的和。 class Solution { public: int Fibonacci(int n) {

66(6)旋轉陣列的最小數字

把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給出的所有元素都大於0,若陣列大小為0,請返回0。 class Sol

66(5)用兩個棧來實現一個佇列

class Solution { public:     void push(int node) {         stack1.push(node);     }     int pop()

66(4)重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 /** * Definition for binary

66(3)從尾到頭列印連結串列

輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 思路:很簡單,設定一個棧,遍歷連結串列將連結串列依次壓棧,最後依次彈出。 class Solution { public: vector<int> printListFromTailToHead(L

66(2)替換空格

請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 class Solution { public: void replaceSpace(char *str,int length) {

66(1)二維陣列查詢

在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 class Solution { public: bool Find(int target,

演算法 暗黑的字串

一個只包含'A'、'B'和'C'的字串,如果存在某一段長度為3的連續子串中恰好'A'、'B'和'C'各有一個,那麼這個字串就是純淨的,否則這個字串就是暗黑的。例如: BAACAACCBAAA 連續子串"CBA"中包含了'A','B','C'各一個,所以是純淨的字串 AABBC

測試jsjava執行結果是否相同

package com.zte.ums.itm.ict2oes.verify.specialprocess; import java.lang.reflect.Method; import lombok.extern.slf4j.Slf4j; @Slf4j public