1. 程式人生 > >【ShawnZhang】帶你看藍橋杯——演算法提高 最長單詞

【ShawnZhang】帶你看藍橋杯——演算法提高 最長單詞

該題通過本提示通過列舉演算法解決,恕本人愚鈍,不太清楚,就用了自己的方法,程式碼附後

遇到的幾個問題,如果使用String s=in.next()將無法儲存空格後的內容,如I am a student,通過這個函式只能儲存第一個單詞  I(單詞意思:我,大寫的i),所以我採用了 如下的方法:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();

同時採用了String[] tmp = s.split(" ");來切割字串,比其他任何方式都將簡單的切分

題目和答案如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class ADV075 {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
/*		編寫一個函式,輸入一行字元,將此字串中最長的單詞輸出。
		  輸入僅一行,多個單詞,每個單詞間用一個空格隔開。單詞僅由小寫字母組成。所有單詞的長度和不超過100000。如有多個最長單詞,輸出最先出現的。
		樣例輸入
		I am a student
		樣例輸出
		student*/
		Scanner in=new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String s = br.readLine();
		
		int MAX=0;
		String re=null;
		String[] tmp = s.split(" ");
		for(String str:tmp){
			if(str.length()>MAX){
				MAX=str.length();
				re=str;
			}
		}
		System.out.println(re);
		
		
	}

}


相關推薦

ShawnZhang藍橋——演算法提高 單詞

該題通過本提示通過列舉演算法解決,恕本人愚鈍,不太清楚,就用了自己的方法,程式碼附後 遇到的幾個問題,如果使用String s=in.next()將無法儲存空格後的內容,如I am a student,通過這個函式只能儲存第一個單詞  I(單詞意思:我,大寫的i),所以我

ShawnZhang藍橋——演算法提高 勾股數

本道題非常的簡單,主要的問題就是三條邊的條件控制上 for(;a<500;a++){ for(b=a;b<500;b++){ for(c=5;c<500;c++){………………

ShawnZhang藍橋——演算法訓練 矩陣乘法

【ShancoLove】帶你看藍橋杯——演算法訓練 矩陣乘法   問題描述   輸入兩個矩陣,分別是m*s,s*n大小。輸出兩個矩陣相乘的結果。 輸入格式   第一行,空格隔開的三個正整數m,s,n(均不超過200)。   接下來m行,每行s個空格隔開的整數,表示

2016藍橋演算法提高——大乘積

演算法提高  最大乘積 問題描述   對於n個數,從中取出m個數,如何取使得這m個數的乘積最大呢? 輸入格式   第一行一個數表示資料組數   每組輸入資料共2行:   第1行給出總共的數字

轉載吃透RTMP

描述 也不會 一點 bool event let har 承擔 開發 RTMP協議是Real Time Message Protocol(實時信息傳輸協議)的縮寫,它是由Adobe公司提出的一種應用層的協議,用來解決多媒體數據傳輸流的多路復用(Multiplexing)和分

手把手擼一個Django web框架

據說 python 已經成為了前端開發程式設計師想學習的首位的後端語言,python 的語法及其簡單,我們可以很快的上手,python 有很多做web伺服器的框架,在此呢我推薦 Django,因為他是一個極簡的框架,沒有其他亂七八糟的東西,適合快速上手。在編寫的過程中如果出現缺少某個包,大家記得

手把手擼一個安卓殼子

web前端的小夥伴們大家好,說起APP混合開發,大家首先想到的可能就是類似Cordova的庫,可以讓我們不寫一行安卓程式碼,就輕鬆地實現原生APP的一些常用功能,但是對於一些特別的"需求"我們就無能為力了。所以為了提高我們的知識儲備,我覺得還是有必要學習一波安卓的知識的。下面就由我帶著大家手把手

手把手擼一個基於vueCli 3.0的前端框架

vuecli 是 vue 的一套工具,便於我們快速開發,其使用方法也是千奇百怪,各種奇技淫巧層出不窮,網上大多教程也只是教你怎麼去安裝,並沒有說要怎麼去用,今天來和大家探討一下該怎麼合理的使用。 1、建立專案 假設你已經安裝過node了,執行下面命令安裝vuecli3.0,如果你之前安裝

專欄 - 玩轉Visual Studio

帶你玩轉Visual Studio 本系列是從事C++開發工作一年半以來對VS用法的經驗和總結,主要內容有:1、Windows下Visual Studio在C++開發方面的功能和使用方法;2、用Visual Studio進行C++

第六屆藍橋決賽 第二題 完美正方形 (線段樹)

完美正方形 如果一些邊長互不相同的正方形,可以恰好拼出一個更大的正方形,則稱其為完美正方形。 歷史上,人們花了很久才找到了若干完美正方形。比如:如下邊長的22個正方形 2 3 4 6 7 8 12 13 14 15 16 17 18 21 22 23 24 26 27 2

題解第七屆藍橋.1-7

1. 煤球數目 有一堆煤球,堆成三角稜錐形。具體: 第一層放1個, 第二層3個(排列成三角形), 第三層6個(排列成三角形), 第四層10個(排列成三角形), .... 如果一共有100層,共有多少個煤

藍橋 演算法提高 找素數 思維找素數 + 篩法

時間限制:1.0s 記憶體限制:256.0MB 問題描述   給定區間[L, R] , 請計算區間中素數的個數。 輸入格式   兩個數L和R。 輸出格式   一行,區間中素數的個數。 樣例輸入 2 11 樣例輸

藍橋演算法訓練 短路---SPFA演算法負邊的短路處理)

演算法訓練 最短路   時間限制:1.0s   記憶體限制:256.0MB 問題描述 給定一個n個頂點,m條邊的有向圖(其中某些邊權可能為負,但保證沒有負環)。請你計算從1號點到其他點的最短路(頂點從1到n編號)。 輸入格式 第一行兩個整數n, m。 接下來的m行

ACM權有向圖單源短路徑(Dijkstra演算法

最短路徑的第一類問題 求從單個源點到其餘各頂點的最短路徑。這是一種貪心策略,不可以存在負權邊。 演算法簡介 給定帶權有向圖G和源點v0,求從源點v0到G中其餘各頂點的最短路徑。迪傑斯特拉演算法是對

[Java] 藍橋ADV-202 演算法提高 公共子序列

問題描述給定兩個字串,尋找這兩個字串之間的最長公共子序列。輸入格式輸入兩行,分別包含一個字串,僅含有小寫字母。輸出格式最長公共子序列的長度。樣例輸入abcdgh aedfhb樣例輸出3樣例說明最長公共子

藍橋演算法訓練 小公倍數

時間限制:1.0s   記憶體限制:256.0MB 問題描述 已知一個正整數N,問從1~N-1中任選出三個數,他們的最小公倍數最大可以為多少。 輸入格式 輸入一個正整數N。 輸出格式 輸出一個整數,表示你找到的最小公倍數。 樣例輸入 9 樣例輸出

藍橋 演算法提高 素數求和

問題描述 輸入一個自然數n,求小於等於n的素數之和 樣例輸入 2 樣例輸出 2 資料規模和約定 測試樣例保證 2 <= n <= 2,000,000 解題思路 很簡單一個東西,使用一個迴圈,當前這個數如果為素數的話就將這個數加入到 和 裡面 //問題

[藍橋][演算法提高VIP]和大子序列 (Java版)

題目:對於一個給定的長度為N的整數序列A,它的“子序列”的定義是:A中非空的一段連續的元素(整數)。你要完成的任務是,在所有可能的子序列中,找到一個子序列,該子序列中所有元素的和是最大的(跟其他所有子序列相比)。程式要求你輸出這個最大值。 我們的校賽選了這道題,

藍橋 演算法提高-金屬採集

金屬採礦 人類在火星上發現了一種新的金屬!這些金屬分佈在一些奇怪的地方,不妨叫它節點好了。一些節點之間有道路相連,所有的節點和道路形成了一棵樹。一共有 n 個節點,這些節點被編號為 1~n 。人類將 k 個機器人送上了火星,目的是採集這些金屬。這些機器人

身份證號碼升級[藍橋][演算法提高]

身份證號碼升級[藍橋杯][演算法提高] 時間限制: 1Sec 記憶體限制: 128MB 題目描述 從1999年10月1日開始,公民身份證號碼由15位數字增至18位。(18位身份證號碼簡介)。升級方法為: 1、把15位身份證號碼中的年份由2位(7,8位)改為四位。 2、最後新增一位