IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 倒计时31天,蓝桥每日刷题(day one) -> 正文阅读

[数据结构与算法]倒计时31天,蓝桥每日刷题(day one)

写在开篇:
黄沙百战穿金甲,不破楼兰终不还!
加油!

第一题 纯质数

在这里插入图片描述

解题思路

1,判定质数

public static boolean iszhishu(int n){
  for(int i=2;i<=n/i;i++){
    if(n%i==0){
      return false;
    }
  }
  return true;
}

2,判定是否是纯质数,即判断一下这个数的每一个数位是否为质数,一位一位判断的话,我们已知10以内非质数的是0 , 1,4, 6 ,8, 9,所以

public static boolean check(int n){
  while(n!=0){
    int temp=n%10;
    if(temp==1||temp==4||temp==6||temp==8||temp==9||temp==0)
    return false;
    n/=10;
  }
  return true;
}

完整代码

import java.util.Scanner;

public class Main {
public static boolean iszhishu(int n){
  for(int i=2;i<=n/i;i++){
    if(n%i==0){
      return false;
    }
  }
  return true;
}

public static boolean check(int n){
  while(n!=0){
    int temp=n%10;
    if(temp==1||temp==4||temp==6||temp==8||temp==9||temp==0)
    return false;
    n/=10;
  }
  return true;
}
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int count=0;
        for(int i=2;i<=20210605;i++){
          if(check(i)&&iszhishu(i)){
          count++;
          }
        }
        System.out.println(count);
        scan.close();
    }
}

第二题 最少砝码

在这里插入图片描述

解题思路

本篇使用的是三进制解法
想具体了解的,可以参考下面这篇博客
第十二届蓝桥杯省赛JavaB组 试题 G: 最少砝码

完整代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
      int n;
        Scanner scan = new Scanner(System.in);
        n=scan.nextInt();
        //本题运用三进制的理解方法,就是n位三进制可以表示的数可以从0——3^n-1,而且中间每个数都可以取到
        int count=1;
        int total=1;
        int weight=1;
        while(total<n){
          count++;
          weight*=3;
          total+=weight;
        }
        System.out.println(count);
        scan.close();
    }
}

第三题 灌溉

在这里插入图片描述

解题思路

bfs,直接看代码吧

完整代码

public class 灌溉 {

        static int n, m, t, k;
        static HashSet<Integer> niu = new HashSet<Integer>();
        static HashSet<Integer> old = new HashSet<Integer>();

        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            n = sc.nextInt();
            m = sc.nextInt();
            t = sc.nextInt();
            for (int i = 0; i < t; i++) {
                int r = sc.nextInt();
                int c = sc.nextInt();
                niu.add(r * 1000 + c);//经典的坐标分隔
            }
            k = sc.nextInt();
            bfs();
            System.out.println(niu.size());
            sc.close();
        }

        private static void bfs() {
            for (int i = 0; i < k; i++) {
                for (int x : niu) {
                    int r = x / 1000;
                    int c = x % 1000;
                    for (int j = -1; j <= 1; j++) {
                        for (int k = -1; k <= 1; k++) {
                            if (Math.abs(j + k) != 1)//这里指的就是本身这个点不进行操作。
                                continue;
                            if (r + j <= 0 || r + j > n || c + k <= 0 || c + k > m)//因为x和y的坐标都是从1开始的。
                                
                                continue;
                            old.add((r + j) * 1000 + c + k);
                        }
                    }
                }
                niu.addAll(old);
                old.clear();
            }
        }
    }

在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:50:47  更:2022-03-10 22:51:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:25:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码