单词分析-蓝桥杯真题-易-Java板块造梦空间论坛-技术交流-造梦空间论坛

单词分析-蓝桥杯真题-易

本题来自蓝桥杯云课题库中的第一题,解决方法可能不是最完美的,仅仅本人个人思路

点我直达

题目:

题目描述

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。

输入描述

输入一行包含一个单词,单词只由小写英文字母组成。

对于所有的评测用例,输入的单词长度不超过 1000。

输出描述

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

输入输出样例

示例 1

输入

lanqiao
lanqiao
lanqiao

输出

a
2
a
2
a 2

示例 2

输入

longlonglongistoolong
longlonglongistoolong
longlonglongistoolong

输出

o
6
o
6
o 6

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

解答过程:

首先写一个输入

Scanner scan = new Scanner(System.in);
String a = scan.next();
Scanner scan = new Scanner(System.in);
String a = scan.next();
Scanner scan = new Scanner(System.in); String a = scan.next();

然后在写一个char变量,用于储存每一位的函数的字母

char b;
char b;
char b;

在创建一些a-z的一些变量用于统计输入的字符数量

int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0,
nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0;
int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0,
nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0;
int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0, nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0;

在写个for循环循环a的长度是多少次就循环多少次(length可以获取字符串长度)

for (int i = 0; i < a.length(); i++) {
}
for (int i = 0; i < a.length(); i++) {

}
for (int i = 0; i < a.length(); i++) { }

接着在根据循环找出字符串每一位的字母并把值赋给b

b = a.charAt(i);
System.out.println(b)//可以用于验证,输出每一个
b = a.charAt(i);
System.out.println(b)//可以用于验证,输出每一个
b = a.charAt(i); System.out.println(b)//可以用于验证,输出每一个

然后在循环内判断,判断b是不是等于a-z(建议用switch,刚刚写的时候一下子给忘记了)

if (b == 'a') {
aa++;
}
if (b == 'b') {
bb++;
}
if (b == 'c') {
cc++;
}
if (b == 'd') {
dd++;
}
if (b == 'e') {
ee++;
}
if (b == 'f') {
ff++;
}
if (b == 'g') {
gg++;
}
if (b == 'h') {
hh++;
}
if (b == 'i') {
ii++;
}
if (b == 'j') {
jj++;
}
if (b == 'k') {
kk++;
}
if (b == 'l') {
ll++;
}
if (b == 'm') {
mm++;
}
if (b == 'n') {
nn++;
}
if (b == 'o') {
oo++;
}
if (b == 'p') {
pp++;
}
if (b == 'q') {
qq++;
}
if (b == 'r') {
rr++;
}
if (b == 's') {
ss++;
}
if (b == 't') {
tt++;
}
if (b == 'u') {
uu++;
}
if (b == 'v') {
vv++;
}
if (b == 'w') {
ww++;
}
if (b == 'x') {
xx++;
}
if (b == 'y') {
yy++;
}
if (b == 'z') {
zz++;
}
if (b == 'a') {
        aa++;
      }
      if (b == 'b') {
        bb++;
      }
      if (b == 'c') {
        cc++;
      }
      if (b == 'd') {
        dd++;
      }
      if (b == 'e') {
        ee++;
      }
      if (b == 'f') {
        ff++;
      }
      if (b == 'g') {
        gg++;
      }
      if (b == 'h') {
        hh++;
      }
      if (b == 'i') {
        ii++;
      }
      if (b == 'j') {
        jj++;
      }
      if (b == 'k') {
        kk++;
      }
      if (b == 'l') {
        ll++;
      }
      if (b == 'm') {
        mm++;
      }
      if (b == 'n') {
        nn++;
      }
      if (b == 'o') {
        oo++;
      }
      if (b == 'p') {
        pp++;
      }
      if (b == 'q') {
        qq++;
      }
      if (b == 'r') {
        rr++;
      }
      if (b == 's') {
        ss++;
      }
      if (b == 't') {
        tt++;
      }
      if (b == 'u') {
        uu++;
      }
      if (b == 'v') {
        vv++;
      }
      if (b == 'w') {
        ww++;
      }
      if (b == 'x') {
        xx++;
      }
      if (b == 'y') {
        yy++;
      }
      if (b == 'z') {
        zz++;
      }
if (b == 'a') { aa++; } if (b == 'b') { bb++; } if (b == 'c') { cc++; } if (b == 'd') { dd++; } if (b == 'e') { ee++; } if (b == 'f') { ff++; } if (b == 'g') { gg++; } if (b == 'h') { hh++; } if (b == 'i') { ii++; } if (b == 'j') { jj++; } if (b == 'k') { kk++; } if (b == 'l') { ll++; } if (b == 'm') { mm++; } if (b == 'n') { nn++; } if (b == 'o') { oo++; } if (b == 'p') { pp++; } if (b == 'q') { qq++; } if (b == 'r') { rr++; } if (b == 's') { ss++; } if (b == 't') { tt++; } if (b == 'u') { uu++; } if (b == 'v') { vv++; } if (b == 'w') { ww++; } if (b == 'x') { xx++; } if (b == 'y') { yy++; } if (b == 'z') { zz++; }

接着在吧a-z的出现次数写到数组里面,方便比较

int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy,
zz},e = 0;
int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy,
        zz},e = 0;
int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy, zz},e = 0;

那个e=0是后面用于看在第几个值是最大,然后方便判断是哪个字母最大,然后在写一个数组存储a-z

char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

在建一个整数x=0储存最大的是多少

int x=0;
int x=0;
int x=0;

继续来一个for循环,循环26次或者c的数组元数次

for (int i = 0; i < c.length; i++) {
}
for (int i = 0; i < c.length; i++) {

}
for (int i = 0; i < c.length; i++) { }

在判断每一次的大小,大的那个就吧值给x,然后那个e=i就是方便统计第几次是最大的,用于找最大的字母

if (c[i]>x) {
x=c[i];
e=i;
}
if (c[i]>x) {
        x=c[i];
        e=i;
      }
if (c[i]>x) { x=c[i]; e=i; }

然后输出结果

System.out.print(d[e]+"\n"+x);
System.out.print(d[e]+"\n"+x);
System.out.print(d[e]+"\n"+x);

全源码:

Scanner scan = new Scanner(System.in);
String a = scan.next();
char b;
int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0,
nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0;
// System.out.println(a.length());//获取输入长度
for (int i = 0; i < a.length(); i++) {
b = a.charAt(i);
// System.out.println(b)//输出每一个
if (b == 'a') {
aa++;
}
if (b == 'b') {
bb++;
}
if (b == 'c') {
cc++;
}
if (b == 'd') {
dd++;
}
if (b == 'e') {
ee++;
}
if (b == 'f') {
ff++;
}
if (b == 'g') {
gg++;
}
if (b == 'h') {
hh++;
}
if (b == 'i') {
ii++;
}
if (b == 'j') {
jj++;
}
if (b == 'k') {
kk++;
}
if (b == 'l') {
ll++;
}
if (b == 'm') {
mm++;
}
if (b == 'n') {
nn++;
}
if (b == 'o') {
oo++;
}
if (b == 'p') {
pp++;
}
if (b == 'q') {
qq++;
}
if (b == 'r') {
rr++;
}
if (b == 's') {
ss++;
}
if (b == 't') {
tt++;
}
if (b == 'u') {
uu++;
}
if (b == 'v') {
vv++;
}
if (b == 'w') {
ww++;
}
if (b == 'x') {
xx++;
}
if (b == 'y') {
yy++;
}
if (b == 'z') {
zz++;
}
}
int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy,
zz},e = 0;
char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int x=0;
for (int i = 0; i < c.length; i++) {
if (c[i]>x) {
x=c[i];
e=i;
}
}
System.out.print(d[e]+"\n"+x);
Scanner scan = new Scanner(System.in);
    String a = scan.next();
    char b;
    int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0,
        nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0;
//        System.out.println(a.length());//获取输入长度
    for (int i = 0; i < a.length(); i++) {
      b = a.charAt(i);
//      System.out.println(b)//输出每一个
      if (b == 'a') {
        aa++;
      }
      if (b == 'b') {
        bb++;
      }
      if (b == 'c') {
        cc++;
      }
      if (b == 'd') {
        dd++;
      }
      if (b == 'e') {
        ee++;
      }
      if (b == 'f') {
        ff++;
      }
      if (b == 'g') {
        gg++;
      }
      if (b == 'h') {
        hh++;
      }
      if (b == 'i') {
        ii++;
      }
      if (b == 'j') {
        jj++;
      }
      if (b == 'k') {
        kk++;
      }
      if (b == 'l') {
        ll++;
      }
      if (b == 'm') {
        mm++;
      }
      if (b == 'n') {
        nn++;
      }
      if (b == 'o') {
        oo++;
      }
      if (b == 'p') {
        pp++;
      }
      if (b == 'q') {
        qq++;
      }
      if (b == 'r') {
        rr++;
      }
      if (b == 's') {
        ss++;
      }
      if (b == 't') {
        tt++;
      }
      if (b == 'u') {
        uu++;
      }
      if (b == 'v') {
        vv++;
      }
      if (b == 'w') {
        ww++;
      }
      if (b == 'x') {
        xx++;
      }
      if (b == 'y') {
        yy++;
      }
      if (b == 'z') {
        zz++;
      }
    }
    int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy,
        zz},e = 0;
    char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    int x=0;
    for (int i = 0; i < c.length; i++) {
      if (c[i]>x) {
        x=c[i];
        e=i;
      }
    }
    System.out.print(d[e]+"\n"+x);
Scanner scan = new Scanner(System.in); String a = scan.next(); char b; int aa = 0, bb = 0, cc = 0, dd = 0, ee = 0, ff = 0, gg = 0, hh = 00, ii = 0, jj = 0, kk = 0, ll = 0, mm = 0, nn = 0, oo = 0, pp = 0, qq = 0, rr = 0, ss = 0, tt = 0, uu = 0, vv = 00, ww = 0, xx = 0, yy = 0, zz = 0; // System.out.println(a.length());//获取输入长度 for (int i = 0; i < a.length(); i++) { b = a.charAt(i); // System.out.println(b)//输出每一个 if (b == 'a') { aa++; } if (b == 'b') { bb++; } if (b == 'c') { cc++; } if (b == 'd') { dd++; } if (b == 'e') { ee++; } if (b == 'f') { ff++; } if (b == 'g') { gg++; } if (b == 'h') { hh++; } if (b == 'i') { ii++; } if (b == 'j') { jj++; } if (b == 'k') { kk++; } if (b == 'l') { ll++; } if (b == 'm') { mm++; } if (b == 'n') { nn++; } if (b == 'o') { oo++; } if (b == 'p') { pp++; } if (b == 'q') { qq++; } if (b == 'r') { rr++; } if (b == 's') { ss++; } if (b == 't') { tt++; } if (b == 'u') { uu++; } if (b == 'v') { vv++; } if (b == 'w') { ww++; } if (b == 'x') { xx++; } if (b == 'y') { yy++; } if (b == 'z') { zz++; } } int c[] = { aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, ii, ss, tt, uu, vv, ww, xx, yy, zz},e = 0; char d[]= {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; int x=0; for (int i = 0; i < c.length; i++) { if (c[i]>x) { x=c[i]; e=i; } } System.out.print(d[e]+"\n"+x);
请登录后发表评论

    没有回复内容

© 造梦空间论坛
❤富强❤