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;
}
}
相關推薦
JS和java在牛客程式設計題上輸入輸出的總結
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為結尾的連續子序列的複雜
js和java中使用正則表達式校驗郵箱
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(
js和Java分別正則匹配小數點後多餘的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
測試js和java執行結果是否相同
package com.zte.ums.itm.ict2oes.verify.specialprocess; import java.lang.reflect.Method; import lombok.extern.slf4j.Slf4j; @Slf4j public