国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍橋杯 - 算法訓練 字串統計

2019-11-06 06:38:38
字體:
來源:轉載
供稿:網友
算法訓練 字串統計題目:問題描述  給定一個長度為n的字符串S,還有一個數字L,統計長度大于等于L的出現次數最多的子串(不同的出現可以相交),如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式  第一行一個數字L。  第二行是字符串S。  L大于0,且不超過S的長度。輸出格式  一行,題目要求的字符串。  輸入樣例1:  4  bbaabbaaaaa  輸出樣例1:  bbaa  輸入樣例2:  2  bbaabbaaaaa  輸出樣例2:  aa數據規模和約定  n<=60  S中所有字符都是小寫英文字母。提示  枚舉所有可能的子串,統計出現次數,找出符合條件的那個分析:三個for,枚舉字符串的長度 * 枚舉該字符串的長度的所有起始位置對應的字符串(在總字符串中的所以位置) * 枚舉該字符串的長度的所以起始位置對應的字符串與其他同長的子串對比(出現次數)。注釋比較清楚。比如:bbaabb 的所以長度有 :i = 1,2,3,4,5,6i = 2長度下的起始位置對于的字符串:bb,ba,aa,ab,bbi = 2長度下的起始位置對于的字符串中bb對于其他字符串(bb自身,ba,aa,ab,bb)是否相同得出該字符的出現次數。代碼在此:(藍橋杯測試100分)
#include<stdio.h>#include<string.h>#include<stdlib.h>#define SIZE 61char S[SIZE];void fun (char str[], int st, int fin) {	//截取總字符串S的起點 st 到 終點 fin 的子串到str 	int i;	int k = 0;	for(i = st; i < fin; i ++, k ++){		str[k] = S[i];	}	str[k] = '/0';}int main () {		int L;	int i,j,k;	int len;	//存儲字符串的總長 		scanf("%d", &L);	scanf("%s", S);	char all_s[SIZE];	//最新最優的字符串的存儲 	int all_i;	//最新最優字符串的長度 	int all = 0;	//最新最優字符串的出現次數 		int temp_num = 0;	//臨時字符串的出現次數 	char temp[SIZE];	//臨時字符串的存儲 	char temp_e[SIZE];	//對于某臨時字符串的其他字符串的存儲 	len = strlen(S);		for(i = L; i < len; i ++){	//枚舉所以的字符串可能出現的長度 		for(j = 0; j < len-i; j ++){	//枚舉該長度(i)的該字符串的起點 			temp_num = 0;			fun(temp,j,j+i);	//j為起點,j+i-1為終點 			for(k = 0; k < len-i;k ++){	//臨時字符串對比相同長度的字符串是否有相同 				 fun(temp_e,k,k+i);				 if(strcmp(temp_e,temp) == 0){				 	temp_num ++;				 }			}			if(temp_num > all){	//如果臨時字符串的出現次數多于上次最優的字符串的次數 直接代替 				all_i = i;				all = temp_num;				strcpy(all_s,temp);			} else if(temp_num == all && i > all_i){	//如果臨時字符串的與上次出現的最優字符串出現的次數相同且更長則代替 				all_i = i;				all = temp_num;				strcpy(all_s,temp);			}		}	}		PRintf("%s",all_s);		return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海原县| 自治县| 海兴县| 康保县| 太谷县| 中西区| 揭东县| 乌审旗| 台东市| 嘉鱼县| 教育| 莱州市| 余庆县| 抚松县| 清流县| 徐闻县| 旬邑县| 海门市| 缙云县| 阜新市| 孝义市| 仲巴县| 阿坝县| 华容县| 元江| 东山县| 大关县| 永济市| 南涧| 上虞市| 朝阳区| 石河子市| 电白县| 新蔡县| 镇远县| 武宣县| 依安县| 普宁市| 大邑县| 太原市| 太原市|