蓝桥杯双周赛算法心得——三带一(暴力枚举)

大家好,我是晴天学长,枚举思想,需要的小伙伴可以关注支持一下哦!后续会继续更新的。


1) .三带一


2) .算法思路

1.通过Scanner读取输入的整数n,表示接下来有n个字符串需要处理。
2.使用循环遍历每个字符串:
3.将字符串转换为字符数组c。
4.对于每个字符c[j],统计在整个字符数组中出现的次数。
5.使用变量ans记录出现次数的最大值。
6.如果最大值ans等于3,则输出"Yes";否则输出"No"。


3).代码示例

package LanQiaoTest.枚举;
import java.io.IOException;
import java.util.Scanner;


public class 三带一 {
    static int ans = 0;
    public static void main(String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            char[] c = scanner.next().toCharArray();
            //开始
            int ans = 0;
            for (int j = 0; j < c.length; j++) {
                //统计
                int temp2 = 0;
                char temp  = c[j];
                for (int k = 0; k < c.length; k++) {
                    if (c[k] == temp){
                        temp2++;
                    }
                }
                ans = Math.max(ans, temp2);
            }
            if (ans == 3) {
                System.out.println("Yes");
            }
            else {
                System.out.println("No");
            }
        }
    }
}


5).总结

  • 注意数组下标越界。

你可能感兴趣的:(算法,蓝桥杯,算法,职场和发展)