Skip to main content

moregeek program

#yyds干货盘点# 名企真题专题:游戏任务标记-多极客编程

1.简述:

描述

游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsigned int类型来记录着1024个任务是否已经完成。初始状态都是未完成。 输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完成输出1,如果未完成输出0。如果第一或第二个ID不在[1,1024]范围,则输出-1。

输入描述:

输入包括一行,两个整数表示任务ID.

输出描述:

输出是否完成

示例1

输入:

1024 1024

输出:

1

2.代码实现:

import java.util.Scanner;

/**
* 用32个int记录1024个任务状态,任务ID为1~1024,任务初始状态都是未完成
* 函数功能:输入两个任务ID,将第一个任务设为已完成,并检测第二个任务是否已完成(完成返回1,未完成返回0)
*
* 32个int,每个int32位,共32*32=1024位,刚好每一位表示一个任务的状态
*/
public class T4GameTaskTag {


public static void main(String[] args) {
//tasks[0]:1~32号任务 tasks[1]:33~64号任务
int[] tasks = new int[32];
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) { // 注意 while 处理多个 case
int id1 = in.nextInt();
int id2 = in.nextInt();
System.out.println(setAndCheck(tasks, id1, id2));
}
}

public static int setAndCheck(int[] tasks, int id1, int id2) {
if (!checkInParams(id1, id2)) {
return -1;
}
//任务在tasks[n] 0~31
int n = (id1 - 1) / 32;
//设置id1的任务为已完成
int bit = (id1 - 1) % 32;
tasks[n] = tasks[n] | (1 << bit);
//检查id2的任务是否已完成
int n2 = (id2 - 1) / 32;
int bit2 = (id2 - 1) % 32;
//使用无符号右移:由于java没有无符号数
return (tasks[n2] & (1 << bit2)) >>> bit2;
}

private static boolean checkInParams(int id1, int id2) {
boolean b1 = id1 >= 1 && id1 <= 1024;
boolean b2 = id2 >= 1 && id2 <= 1024;
return b1 && b2;
}
}

©著作权归作者所有:来自51CTO博客作者97的风的原创作品,请联系作者获取转载授权,否则将追究法律责任

#yyds干货盘点# 名企真题专题:最少数量货物装箱问题-多极客编程

1.简述:描述有重量分别为 3,5,7 公斤的三种货物,和一个载重量为 X 公斤的箱子(不考虑体积等其它因素,只计算重量)需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)数据范围: 输入描述:输入箱子载重量(一个整数)。输出描述:如果无法装满,输出 -1。如果可以装满,输出使用货物的总个数。示例1输入:4输出:-1说明:无法装满示例2输入:8输出:2说明:使用1个5公斤

elastic-job2.1.5版本全量查询job-多极客编程

问题描述:在使用elastic-job的2.1.5版本开发时,因为有秒级任务发现有频繁的全量请求sql在执行:SELECT original_task_id FROM JOB_STATUS_TRACE_LOG WHERE task_id = 'com.horizon..scheduler.task.CnTask@-@0@-@READY@-@127.0.0.1@-@47' and state='TA

#yyds干货盘点# leetcode程序员面试金典:下一个数-多极客编程

题目:下一个数。给定一个正整数,找出与其二进制表达式中1的个数相同且大小最接近的那两个数(一个略大,一个略小)。示例1:输入:num = 2(或者0b10) 输出:[4, 1] 或者([0b100, 0b1])示例2:输入:num = 1 输出:[2, -1]代码实现:class Solution { public int[] findClosedNumbers(int num) {

将全局命名空间和零信任策略与 vmware tanzu service mesh 结合使用-多极客编程

VMware Tanzu Service Mesh 提供联合 Istio 服务,为企业客户带来核心开源项目之外的重要价值,提高应用程序安全性、弹性和多云运营。启用此附加值的 Tanzu 服务网格的主要构造是全局命名空间 (GNS) 的概念。GNS 允许平台运营商和开发人员使用 Tanzu Service Mesh 连接应用程序服务,而无需指定(甚至不知道)任何底层基础设施详细信息,因为所有网格操作

api key management with api portal 和 spring cloud gateway for kubernetes-多极客编程

Ignacio Lozano,Karine Pires和Chris Sterling为这篇博文做出了贡献。在当今的数字化转型世界中,API 几乎存在于每个软件产品中。许多团队负责部署和管理大型 API 组合。但是,API 的规模和复杂性也使控制和管理访问变得复杂。具体而言,了解粒度用法并发现见解和利用率可能很困难。使用 API Portal for VMware Tanzu 和 Spring Cl

如何安装具有传输层安全性和 azure ad 的 vmware tanzu application platform-多极客编程

本文将解决VMware Tanzu Application Platform的安装问题,并使用传输层安全性(TLS)和Microsoft Windows Azure Active Directory(Azure AD)保护UI。但首先,什么是Tanzu应用平台?VMware Tanzu Application Platform 是一个模块化的应用感知平台,可提供一组丰富的开发人员工具和预先铺就的生

#yyds干货盘点# 名企真题专题:最少数量货物装箱问题-多极客编程

1.简述:描述有重量分别为 3,5,7 公斤的三种货物,和一个载重量为 X 公斤的箱子(不考虑体积等其它因素,只计算重量)需要向箱子内装满X公斤的货物,要求使用的货物个数尽可能少(三种货物数量无限)数据范围: 输入描述:输入箱子载重量(一个整数)。输出描述:如果无法装满,输出 -1。如果可以装满,输出使用货物的总个数。示例1输入:4输出:-1说明:无法装满示例2输入:8输出:2说明:使用1个5公斤

elastic-job2.1.5版本全量查询job-多极客编程

问题描述:在使用elastic-job的2.1.5版本开发时,因为有秒级任务发现有频繁的全量请求sql在执行:SELECT original_task_id FROM JOB_STATUS_TRACE_LOG WHERE task_id = 'com.horizon..scheduler.task.CnTask@-@0@-@READY@-@127.0.0.1@-@47' and state='TA

#yyds干货盘点# leetcode程序员面试金典:下一个数-多极客编程

题目:下一个数。给定一个正整数,找出与其二进制表达式中1的个数相同且大小最接近的那两个数(一个略大,一个略小)。示例1:输入:num = 2(或者0b10) 输出:[4, 1] 或者([0b100, 0b1])示例2:输入:num = 1 输出:[2, -1]代码实现:class Solution { public int[] findClosedNumbers(int num) {

明晰c语言中的真/假和0/1-多极客编程

前言C语言中的真/假和0/1在不同的情境下具有不同的意义,清楚地对他们进行区别有助于正确理解程序,并巧妙地解决一些问题。在逻辑表达式中在逻辑表达式中,0 表示假,非0 表示真int main(){ if (-1) { //执行 printf("hehe\n"); } if (0) { //不执行 printf("haha

将全局命名空间和零信任策略与 vmware tanzu service mesh 结合使用-多极客编程

VMware Tanzu Service Mesh 提供联合 Istio 服务,为企业客户带来核心开源项目之外的重要价值,提高应用程序安全性、弹性和多云运营。启用此附加值的 Tanzu 服务网格的主要构造是全局命名空间 (GNS) 的概念。GNS 允许平台运营商和开发人员使用 Tanzu Service Mesh 连接应用程序服务,而无需指定(甚至不知道)任何底层基础设施详细信息,因为所有网格操作

api key management with api portal 和 spring cloud gateway for kubernetes-多极客编程

Ignacio Lozano,Karine Pires和Chris Sterling为这篇博文做出了贡献。在当今的数字化转型世界中,API 几乎存在于每个软件产品中。许多团队负责部署和管理大型 API 组合。但是,API 的规模和复杂性也使控制和管理访问变得复杂。具体而言,了解粒度用法并发现见解和利用率可能很困难。使用 API Portal for VMware Tanzu 和 Spring Cl