根据所需,自行修改- @if(0)==(0) echo off
- cscript -NoLogo -E:JScript %0 <a.txt
- pause&goto:eof
- @end
-
- function getRepeatedStr(s) {
- var arr = [],res = {};
- for (var i = 0; i < s.length; i++) {
- arr[i] = i;
- }
- arr.sort(function compare(a, b) {
- return s.substring(a).localeCompare(s.substring(b));
- });
- for (var i = 1; i < s.length; i++) {
- var num = 0;
- var si = arr[i];
- var sj = arr[i-1];
- while(s.charAt(si+num) == s.charAt(sj+num)) {
- num++;
- if (num>0) {
- var tmp=s.substring(si, si+num)
- res[tmp]=1+res[tmp]||1;
- max = Math.max(max, res[tmp]);
- min = Math.min(min, res[tmp]);
- }
- }
- }
- return res;
- }
-
- var text = WSH.StdIn.ReadAll().replace(/\r?\n/mg,'')
- var max = -1, min = Number.MAX_VALUE;
- var result = getRepeatedStr(text)
- var n = 4, arr=[], minarr=[], maxarr=[];
- for (var k in result) {
- var i = result[k];
- if (i == max) {
- maxarr.push(k);
- }
- else if (i == min) {
- minarr.push(k);
- }
- if (i== n) {
- arr.push(k);
- }
- }
-
- WSH.Echo('最小重复次数',min,'\n重复字符:',minarr.join('\n'))
- WSH.Echo('最大重复次数',max,'\n重复字符:',maxarr.join('\n'))
- WSH.Echo('指定重复次数',n,'\n重复字符:',arr.join('\n'))
复制代码
|