当前位置: 首页 > 知识库问答 >
问题:

在java中设置或不设置校验位的位置(黑客排名问题)

钮瀚
2023-03-14

我最初是这样做的,其中给定的数字和2^k(第二个输入,即位置)是双向和..ed,结果是否等于2^k。然而,它失败了一个测试用例,我想知道为什么?(在本例中,位置从0开始,从右向左)

PS:我并不是在寻找替代的ans,因为我自己找到了它并完成了问题,而只是为了解释为什么下面的代码在一个测试用例中失败。

当我保持<code>len时,测试用例可以工作


import java.io.*;
import java.util.*;
import java.lang.*;


public class Solution {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        long len, i, k, j;
        len = sc.nextLong();
        j   = sc.nextLong();

        k = 1 << j;
        // System.out.println(k);

        // System.out.println((len & (1 << (j))));

        if( (len & k) == k ) {
              //  System.out.println((len & (1 << (j))));
              System.out.print("true");
        }else
              System.out.print("false");
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
    }

} 
        }

    } 

共有1个答案

胡鸿羲
2023-03-14

它应该工作。我想知道失败测试的输入值是什么。

检查这个。

long len = sc.nextLong(); // should not be negative
int j = sc.nextInteger(); // should be within [0;61]
long k = 1L << j;

// if bit is set
len & k == k (e.g. len & k == 0) == true
 类似资料:
  • 问题内容: 我正在用Java做一些Swing GUI,我想我的问题很简单。如何设置鼠标的位置? 问题答案: 您需要使用机器人 此类用于生成本机系统输入事件,用于测试自动化,自运行演示以及需要控制鼠标和键盘的其他应用程序。Robot的主要目的是促进Java平台实现的自动化测试。 使用类生成输入事件与将事件发布到AWT事件队列或AWT组件不同,因为事件是在平台的本机输入队列中生成的。例如,实际上将移动

  • 问题内容: 如何在Java中的long的特定位置设置/取消设置位? 例如, 我想在位置2设置位,在位置3取消设置位,因此相应的long将是, 有人可以帮我怎么做吗? 问题答案: 要设置一点,请使用: 擦除一下使用: 切换一下用途: 请注意,我使用0b?。您也可以使用任何整数,例如: 但是,这使得更难知道正在更改哪个位。 使用二进制可让您查看将要设置/擦除/切换的确切位。 要动态设置位,请使用: 将

  • 问题内容: 我只是编写了一个代码(使用TKinter)创建一个窗口并显示一个工作按钮。 但是我想在这个按钮下面有多个按钮。 如何设置按钮的行和列?我尝试添加,但是那行不通。 谢谢 问题答案: Astynax是正确的。要遵循您给出的示例: 应该创建3行按钮。使用网格比使用包好得多。但是,如果在一个按钮上使用网格,而在另一按钮上使用网格,则将不起作用,并且会出现错误。

  • 问题内容: 我正在编写一个使用android中的位置模拟可能性的应用程序。 我想实现的是模拟我的位置,而无需在开发人员选项中设置“允许模拟位置”标志。 我知道这是可能的,因为它可以与此应用一起使用: https //play.google.com/store/apps/details?id=com.lexa.fakegps&hl=zh- CN 我试过的 生成一个apk,将其移动到/ system

  • 我正在写一个应用程序,它利用了android中位置模拟的可能性。 我想要实现的是模拟我的位置,而不在开发者选项中设置“允许模拟位置”标志。 我知道这是可能的,因为是工程与此应用程序:https://play.google.com/store/apps/details?id=com.lexa.fakegps 我所尝试的: 生成一个apk,将其移动到/system/app,重新启动 ,我还尝试了使用和