1. 程式人生 > >彩色寶石項鍊-搜狐程式設計

彩色寶石項鍊-搜狐程式設計

題目要求:

有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡翠,珍珠等。有一天國王把項鍊賞賜給了一個學者,並跟他說,你可以帶走這條項鍊,但是王后很喜歡紅寶石,藍寶石,紫水晶,翡翠和鑽石這五種,我要你從項鍊中擷取連續的一小段還給我,這一段中必須包含所有的這五種寶石,剩下的部分你可以帶走。如果無法找到則一個也無法帶走。請幫助學者找出如何切分項鍊才能夠拿到最多的寶石。

輸入描述:
我們用每種字元代表一種寶石,A表示紅寶石,B表示藍寶石,C代表紫水晶,D代表翡翠,E代表鑽石,F代表玉石,G代表玻璃等等,我們用一個全部為大寫字母的字元序列表示項鍊的寶石序列,注意項鍊是首尾相接的。每行代表一種情況。


輸出描述:
輸出學者能夠拿到的最多的寶石數量。每行一個
示例1

輸入

ABCYDYE
ATTMBQECPD

輸出

1
3

自己的程式碼:

public static void Souhu3()
	{
		Scanner in = new Scanner(System.in);
		while(in.hasNext())
		{
			StringBuffer buff=new StringBuffer(in.nextLine());
			buff.append(buff);
			char s[]=buff.toString().toCharArray();
			int length=s.length;
			
			int num[]=new int[5];
			for(int i=0;i<5;i++)
				num[i]=0;
			
			int min=length/2;
			for(int i=0;i<=length/2-1;i++)
			{
				int count=0;
				if(s[i]>='F')
					continue;
				else
				{
					for(int j=i;j<=length/2+i-1;j++)
					{
						int temp=(int)(s[j]-'A');
						if(temp<5&&num[temp]==0)
							{
							num[temp]++;
							count++;
							}
						if(count==5)
						{
						min=Math.min(min, j-i+1);
						for(int k=0;k<5;k++)
							num[k]=0;
						break;
						}
					}
				}
			}
		System.out.println(length/2-min);
		}
	}
}

別人的程式碼:

自己的程式碼中,利用一個整形陣列來存放5種目標寶石是否存在的標誌,可以進一步減少空間複雜度,利用boolean陣列,減少為5個位元組;進一步減少可以利用1個整形數值的5個2進位制位來表示是否存在。

public static void Souhu2()
	{
		Scanner in = new Scanner(System.in);
		
		while(in.hasNext())
		{
			StringBuffer buff=new StringBuffer(in.nextLine());
			buff.append(buff);
			char s[]=buff.toString().toCharArray();
			System.out.println(s.length/2);
			int length=s.length;
			int min=length/2;
			for(int i=0;i<=length/2-1;i++)
			{
				int count=0;
				if(s[i]>='F')
					continue;
				else
				{
					for(int j=i;j<=length/2+i-1;j++)
					{
						int num=(int)(s[j]-'A');
						if(num<5)
							count=(count|1<<num);
						if(count==31)
							{
							min=Math.min(min, j-i+1);
							break;
							}
					}
				}
			}
		System.out.println(length/2-min);
		}
	}


相關推薦

彩色寶石項鍊-程式設計

題目要求: 有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡翠,珍珠等。有一天國王把項鍊賞賜給了一個學者,並跟他說,你可以帶走這條項鍊,但是王后很喜歡紅寶石,藍寶石,紫水晶

[程式設計題]彩色寶石項鍊.有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡翠,珍珠等

時間限制:1秒 空間限制:32768K 有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡翠,珍珠等。有一天國王把項鍊賞賜給了一個學者,並跟他說,你可以帶走這條項鍊,但是王后很喜歡紅寶石,藍寶石,紫水晶,翡翠和鑽石這五種,我要你從項

牛客程式設計題:彩色寶石項鍊

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

Python練習筆記 - - 彩色寶石項鍊

Python練習筆記 - - 彩色寶石項鍊 題目描述 輸入描述: 輸出描述: 示例 解題思路&程式碼段 題目描述 有一條彩色寶石項鍊,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鑽石,翡

NewCode----彩色寶石項鍊

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

2018內推筆試程式設計題2

這個題我的想法是從大到小依次考慮 對於6*6的產品,每個產品需要一個包裹 對於5*5的產品,每個產品需要一個包裹,每個包裹剩下的空間最多可以裝下11個1*1的產品,根據包裹數量更新1*1產品的剩餘數

遊戲運維的最佳實踐:暢遊自動化運維之旅!

運維 遊戲 搜狐暢遊 搜狐黎誌剛見證了暢遊遊戲自動化運維平臺的從無到有,通過在其中踩過的坑、解過的結,他向大家來闡述遊戲運維的進階之路。本文主要圍繞暢遊遊戲管理體系與運維自動化的演變歷程、運維自動化的實現及未來運維四方面展開。暢遊運維管理體系與運維自動化的演變歷程暢遊運維管理體系演變歷程從 200

愛奇藝、騰訊、優酷、、芒果、樂視、PPTV、音悅臺等VIP視頻免費觀看

blog 視頻 www 樂視 log html show iyu com 有圖有真相 觀看地址一:http://www.luoruiyuan.cn/blog-show.html?id=62 觀看地址二:http://www.luor

2017暢遊web筆試

參數 index ted 新建 存在 判斷 jpg str ati 1.插入背景圖片 <body background=‘1.jpg’> 2.contentEditable屬性 3.打開名字window2新窗口的JS語句 window.location.href

暢遊一面(c++)

++ .... con 估計 搜狐 隔離級別 stl 遊戲 隔離 上來是個小姐姐,有點懵。。 1. 介紹 2. 項目 3. 實習 4. 用的協議 tcp和udp的協議 5. select 和epoll(忘了) 6. 數據庫的隔離級別, 死鎖, 怎麽避免死鎖 7.

國內各大互聯網公司相關技術博客3.0版 (集合騰訊、阿裏、百度、、新浪、網易、360等共29個)

hive 時間 視覺 阿裏媽媽 數據可視化 發的 電商 領域 事業 在2013-07-15 整理了一份國內各大互聯網公司相關技術站點2.0版 (集合騰訊、阿裏、百度、搜狐、新浪、360等共49個) 近日重新整理了一番,希望能對大家有所幫助 2013年 騰訊系列(13) 阿

】【實習】【現場面試】【JAVA工程師】2018.03.14

難受 來看 結束 但是 不想 不同 aik 面試 電梯 13:30-16:30 從學校出發到返回學校,一共3小時 今年實習第一面,面完估計要涼 先簡單說一下經歷: 中午賴在床上不想起來,發現自己還是在逃避,逃避面試、逃避現實,磨嘰著磨嘰著最後遲到了,HR給我打了2個電話,

Linux運維工程師面試真題-答案

linux面試 搜狐linux工程師 搜索了許多linux面試的題目,但是許多都沒有答案,本著分享交流的態度,把搜狐Linux運維工程師面試真題做了,答案可以有不嚴謹的地方,請多多指教!題目來自:https://blog.csdn.net/Ki8Qzvka6Gz4n450m/article/detai

WEB 標準-前端技術應用規範

tro 技術分享 9.png inf info bsp bubuko http 搜狐

彩色寶石項鏈

system AI static public ava r+ spa 幫助 new 題目描述 有一條彩色寶石項鏈,是由很多種不同的寶石組成的,包括紅寶石,藍寶石,鉆石,翡翠,珍珠等。有一天國王把項鏈賞賜給了一個學者,並跟他說,你可以帶走這條項鏈,但是王後很喜歡紅寶石,藍寶

webpack中 VUE使用ip庫查詢設備ip地址

text col contex import dirname let als 百度地圖 pan 1、index.html中引入百度地圖 <script type="text/javascript" src="http://pv.sohu.com/cityjson

手機賺錢軟體哪個好用,手機什麼賺錢軟體好?就用新聞資訊版下載

您知道嗎? 手機賺錢軟體哪個好用? 搜狐新聞資訊版是網路巨頭搜狐公司推出的一個非常好用的手機賺錢軟體,新版搜狐新聞資訊版會定期推出各種送現金活動,獎勵非常豐厚,週期是15天,碰到大型節日比如中秋,元旦,雙11,情人節呀。比如這次的集卡尋寶贏IPHONE . 手機什麼賺錢軟體好? 搜狐新聞資訊版下載

文字顯示兩行,多餘的省略號(相容

    我平時除錯程式碼用的谷歌,之前也沒有注意到這個問題,但是最近老闆用搜狐看我寫的網站,發現了在搜狐上文字超過兩行顯示省略號這個樣式不起作用,於是找到了這個解決方案。   1、不需要相容   p{     word-break: break-all;     text-overf

昔日視訊巨頭已嚴重掉隊 視訊難道真的沒出路了嗎?

雖然在外界看來整個視訊行業欣欣向榮,但是視訊平臺的競爭也變得越來越激烈跟殘酷。根據前瞻產業研究院釋出的報告:2018年上半年,三大視訊網站中,愛奇藝與騰訊的獨立裝置數始終領先,保持在6億臺左右的規模,優酷視訊以4.5億臺左右的規模位居第三。 雖說網路視訊很火熱,但是有人歡喜有人愁,如今愛優騰在視

只因他的一個建議,就起死回生了?

張朝陽的成長經歷中,1986年是一個分水嶺,他考上李政道獎學金,赴美國麻省理工大學學習。張朝陽從小就不安分,愛幻想,不甘落後,他喜歡看那些自學成材的故事。 1995年7月,張朝陽突然有了創業的強烈念頭,美國隨處可見的“矽谷”式創業更是激起了他的熱情。當他看到Internet的機遇時,感覺到應該是