京东笔试题

和谐敏感词

🔗 题目地址

在这里插入图片描述

🎉 模拟

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();
        String s = scanner.next();
        String[] words = new String[n];

        for (int i = 0; i < n; i++) {
            words[i] = scanner.next();
        }
        boolean[] st = new boolean[s.length()];
        for (int i = 0; i < n; i++) {
            int pos = 0;
            while(true) {
                pos = s.indexOf(words[i], pos);
                if(pos == -1)
                    break;
                for (int j = pos; j < pos + words[i].length(); j++)
                    st[j] = true;
                pos += 1;
            }
        }
        char[] ans = s.toCharArray();
        for(int i = 0; i < st.length; i++)
            if(st[i])
                ans[i] = '*';

        System.out.println(ans);
    }
}

每个区间内第k小的数

🔗 题目地址
在这里插入图片描述

🎉 大根堆


import java.util.PriorityQueue;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] a = new int[n];
        for (int i = 0; i < n; i++)
            a[i] = sc.nextInt();

        PriorityQueue<Integer> heap = new PriorityQueue<>((o1, o2) -> o2 - o1);
        for (int i = 0; i < n; i++) {
            if (i < k - 1) {
                heap.add(a[i]);
                System.out.print(-1 + " ");
                continue;
            }
            if(heap.size() < k)
                heap.add(a[i]);
            else{
                if(a[i] < heap.peek()){
                    heap.poll();
                    heap.add(a[i]);
                }
            }
            System.out.print(heap.peek() + " ");
        }
    }
}

挑选战队

🔗 题目地址
在这里插入图片描述

🎉 二分 + 状态压缩DP

import java.util.Scanner;

public class Main {
    private static final int INT_MAX = Integer.MAX_VALUE;
    static int n,m,k;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt(); // 读取样例个数

        for (int testCase = 0; testCase < t; testCase++) {
              n = sc.nextInt(); // 读取n
              m = sc.nextInt(); // 读取m
              k = sc.nextInt(); // 读取k
            int[][] attr = new int[n][m]; // 创建属性数组

            // 读取每个队员的属性值
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    attr[i][j] = sc.nextInt();
                }
            }

            // 二分查找初始化
            int l = 1, r = 1005, ans = 0;
            while (l < r) {
                int mid = (l + r) >> 1; // 计算中间值
                // 检查是否可以通过选择k个人达到战斗力mid
                if (isPossible(attr, mid)) {
                    ans = mid; // 更新答案
                    l = mid + 1; // 增大左边界
                } else {
                    r = mid; // 缩小右边界
                }
            }
            System.out.println(ans); // 输出结果
        }
        sc.close();
    }

    /**
     * 检查是否可以通过选择k个人达到战斗力mid
     * @param attr 队员的属性数组
     * @param mid 当前尝试的战斗力
     * @return 是否可以达到战斗力mid
     */
    private static boolean isPossible(int[][] attr, int mid) {
        int fullMask = (1 << m) - 1; // 全属性掩码


        int[] masks = new int[n]; // 每个队员的属性掩码
        for (int i = 0; i < n; i++) { // 枚举每个队员
            int mask = 0;
            for (int j = 0; j < m; j++) {// 枚举队员的每个属性
                if (attr[i][j] >= mid) {
                    mask |= (1 << j); // 更新掩码
                }
            }
            masks[i] = mask; // 存储掩码
        }
        int[] dp = new int[1 << m]; // dp[state]:表示达到 state 的状态需要的最少人数
        for (int i = 0; i < dp.length; i++) {
            dp[i] = INT_MAX; // 初始化dp数组
        }
        dp[0] = 0; // 初始状态
        // 更新dp数组
        for (int i = 0; i < n; i++) {
            int pmask = masks[i]; // 当前队员的属性掩码
            for (int state = 0; state < fullMask; state++) {
                if (dp[state] != INT_MAX) { // 起点是 state,借助 pmask 转移,重点是(state|pmask)
                    dp[state | pmask] = Math.min(dp[state | pmask], dp[state] + 1); // 更新dp数组
                }
            }
//            for (int state = fullMask; state >= 0; state--) {
//                if (dp[state] != INT_MAX) { // 起点是 state,借助 pmask 转移,重点是(state|pmask)
//                    dp[state | pmask] = Math.min(dp[state | pmask], dp[state] + 1); // 更新dp数组
//                }
//            }
        }

        return dp[fullMask] <= k; // 检查是否可以通过选择k个人达到战斗力mid
    }
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/899072.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android GPU Inspector分析帧数据快速入门

使用 谷歌官方工具Android GPU Inspector (AGI) 可以对Android 应用进行深入和全面的系统性能分析和帧性能分析 。AGI 是一个非常强大的分析工具&#xff0c;尤其是在需要诊断 GPU 性能问题和优化应用时&#xff0c;可以帮助你精准找到性能瓶颈。本文介绍如何使用该工具对帧数据…

Docker 安装Postgres和PostGIS,并制作镜像

1. 查找postgres和postgis现有的镜像和版本号 镜像搜索网站&#xff1a;https://docker.aityp.com/ 测试使用的是postgres:15.4 和 postgis:15-3.4 2、镜像拉取 docker pull postgres:15.4docker pull postgis/postgis:15-3.4镜像下载完成&#xff0c;docker images 查看如…

CentOS7安装RabbitMQ-3.13.7、修改端口号

本文安装版本&#xff1a; Erlang&#xff1a;26.0 官网下载地址 Erlang RabbitMQ&#xff1a;3.13.7 官网下载地址 RabbitMQ RabbitMQ和Erlang对应关系查看&#xff1a;https://www.rabbitmq.com/which-erlang.html 注&#xff1a;安装erlang之前先安装下依赖文件&#xff0…

【Hive】8-Hive性能优化及Hive3新特性

Hive性能优化及Hive3新特性 Hive表设计优化 Hive查询基本原理 Hive的设计思想是通过元数据解析描述将HDFS上的文件映射成表 基本的查询原理是当用户通过HQL语句对Hive中的表进行复杂数据处理和计算时&#xff0c;默认将其转换为分布式计算 MapReduce程序对HDFS中的数据进行…

软件测试学习笔记丨Linux三剑客-sed

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32521 一、简介 sed&#xff08;Stream editor&#xff09;是一个功能强大的文本流编辑器&#xff0c;主要用于对文本进行处理和转换。它适用于自动化处理大量的文本数据&#xff0c;能够支持…

九、pico+Unity交互开发——触碰抓取

一、VR交互的类型 Hover&#xff08;悬停&#xff09; 定义&#xff1a;发起交互的对象停留在可交互对象的交互区域。例如&#xff0c;当手触摸到物品表面&#xff08;可交互区域&#xff09;时&#xff0c;视为触发了Hover。 Grab&#xff08;抓取&#xff09; 概念&#xff…

记录一个容易混淆的 Spring Boot 项目配置文件问题

记录一个容易混淆的 Spring Boot 项目配置文件问题 去年&#xff0c;我遇到了这样一个问题&#xff1a; 在这个例子中&#xff0c;由于密码 password 以 0 开头&#xff0c;当它被 Spring Boot 的 bean 读取时&#xff0c;前导的 0 被自动去掉了。这导致程序无法正确读取密码。…

【Next.js 项目实战系列】07-分配 Issue 给用户

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 上一篇【Next.js 项目实战系列】06-身份验证 分配 Issue 给用户 本节代码链接 Select Button​ # /app/issues/[i…

MySQL 查找连续相同名称的记录组,并保留每组内时间最大的一条记录

要求&#xff1a;查找连续相同名称的记录组&#xff0c;并保留每组内时间最大的一条记录&#xff0c;同时计算每组记录的 num 总和。 今天有人问了我一个问题&#xff0c;大致就是下面这样的数据结构&#xff08;原谅我实在不知道怎么描述这个问题&#xff09; 然后需要得到下面…

【C++】C++多态世界:从基础到前沿

【C】C多态世界&#xff1a;从基础到前沿 多态的定义及实现1. 虚函数2. 虚函数的重写3. C11 override 和 final重载、覆盖(重写)、隐藏(重定义)的对比&#xff08;关键&#xff09; 抽象类1. 概念2. 接口继承和实现继承 多态的原理1虚函数表2. 虚函数存在哪的&#xff1f;虚表存…

与ai一起作诗(《校园清廉韵》)

与ai对话犹如拷问自己的灵魂&#xff0c;与其说ai助力还不如说在和自己对话。 (笔记模板由python脚本于2024年10月19日 19:18:33创建&#xff0c;本篇笔记适合喜欢python和诗歌的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&…

基于Django的推荐系统、人脸识别登录、微信支付Demo、打卡门禁系统

基于Django的推荐系统、人脸识别登录、微信支付Demo、打卡门禁系统 1、推荐系统 图书管理、电影推荐、音乐推荐、在线课程选修、旅游推荐系统 图书管理点我跳转 电影管理点我跳转 课程管理点我跳转 2、算法 基于用户协同过滤推荐、物品协同过滤推荐、神经网络推荐、随机森…

Linux中如何理解一切皆文件

根据之前的学习我们会有一些少许的疑惑&#xff0c;我们的stdin &#xff0c;stdout&#xff0c;stderr访问的是键盘显示器&#xff0c;然而键盘显示器等他们都有一个共同的特点就是他们都是外设&#xff0c;那么这些外设是怎么被看成是文件的呢&#xff1f; 看图可以知道硬件的…

Jmeter 实战 JDBC配置

​ JDBC JDBC&#xff08;Java Database Connectivity&#xff09;是一种用于执行SQL语句的Java API。通过这个API&#xff0c;可以直接连接并执行SQL脚本&#xff0c;与数据库进行交互。 使用JMeter压力测试时&#xff0c;操作数据库的场景 在使用JMeter进行接口压力测试时…

【去哪儿-注册安全分析报告-缺少轨迹的滑动条】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

什么是分库分表?为什么要分库分表?什么时候需要分库分表?怎么样拆分?(数据库分库分表详解)

文章目录 1、什么是分库分表&#xff1f;1.1、分库分表的概念1.2、分库分表的方式1.2.1、垂直分库1.2.2、垂直分表1.2.3、水平分库1.2.4、水平分表 2、为什么要分库分表&#xff1f;3、什么时候需要分库分表&#xff1f;4、分库分表的数据路由4.1、数据路由的目的4.2、数据路由…

【Linux】磁盘文件系统(inode)、软硬链接

文章目录 1. 认识磁盘1.1 磁盘的物理结构1.2 磁盘的逻辑结构 2. 引入文件系统2.1 EXT系列文件系统的分区结构2.2 inode 3. 软硬链接3.1 软链接3.2 硬链接 在讲过了内存文件系统后&#xff0c;我们可以知道文件分为两种&#xff1a; 打开的文件&#xff08;内存中&#xff09;未…

VMamba:视觉SSM

论文标题&#xff1a;VMamba: Visual State Space Model 论文地址&#xff1a;https://arxiv.org/pdf/2401.10166 摘要 VMamba 是一个视觉骨干网络&#xff0c;基于状态空间模型&#xff08;SSM&#xff09;&#xff0c;其复杂度是线性的。该架构的核心是视觉状态空间&#xff…

uniapp学习(007-2 壁纸项目:详细设计css代码较多)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战&#xff0c;开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第70p-第p78的内容 文章目录 客服消息按钮的open-type属性添加客服设置按钮 ifdef和ifndef 实现多端匹配语法实…

【数据结构笔记】优先级队列PriorityQueue

堆序性质&#xff1a;除了根节点&#xff0c;其他节点都不大&#xff08;小&#xff09;于父节点 进而根节点是最大&#xff08;小&#xff09;堆的最大&#xff08;小&#xff09;元 完全二叉堆 物理上是Vector 逻辑上是完全二叉树 层次遍历序列与物理存储顺序相同Rank为…