当前位置: 首页 > article >正文

连接二进制表示可形成的最大数值(Java)418周赛第一题

3309. 连接二进制表示可形成的最大数值

给你一个长度为 3 的整数数组 nums

现以某种顺序 连接 数组 nums 中所有元素的 二进制表示 ,请你返回可以由这种方法形成的 最大 数值。

注意 任何数字的二进制表示 不含 前导零。

输入: nums = [1,2,3]

输出: 30

解释:

按照顺序 [3, 1, 2] 连接数字的二进制表示,得到结果 "11110",这是 30 的二进制表示

nums恒定是三个元素,长度为3.

在Java中给定一个整数可以用Interger.parseInt(a,2) 2表示为二进制。将字符串 a 按照指定的基数 radix(在这里是二进制)解析为整数

Integer.toBinaryString(int i):

  • Integer 是 Java 中包装基本数据类型 int 的一个类。
  • toBinaryString 是 Integer 类中的一个静态方法,用于将一个整数转换为它的二进制字符串形式。
  • 该方法接受一个 int 类型的参数 i,返回一个表示此整数二进制形式的字符串。
class Solution {
    public int maxGoodNumber(int[] nums) {
        String[] arr=new String[nums.length];
        for(int i=0;i<nums.length;i++){
            arr[i]=Integer.toBinaryString(nums[i]);
        }
        Arrays.sort(arr,(a,b) ->Integer.parseInt(b+a,2) - Integer.parseInt(a+b,2));
        System.out.println(Arrays.toString(arr));
        StringBuilder sb=new StringBuilder();
        for(String s: arr){
            sb.append(s);
        }
        return Integer.parseInt(sb.toString(),2);
    }
}

 


http://www.kler.cn/news/340185.html

相关文章:

  • 10月9日
  • 迎接国庆旅游热潮,火山引擎数据飞轮助力景区数智化升级
  • 55页可编辑PPT | 制造企业数字化转型顶层规划案例
  • Python知识点:运用Python工具,如何使用BERT进行句子嵌入
  • LeetCode 69. Sqrt(x) 解题思路和python代码
  • 常见的图像处理算法:Laplacian边缘检测
  • H、Happy Number(2024牛客国庆集训派对day7)
  • PDF无法导出中文
  • ubuntu上類似window的tortosegit的軟件
  • 如何在Chrome、Edge、360、Firefox等浏览器查看网站SSL证书信息?
  • 基于Android11简单分析audio_policy_configuration.xml
  • 【Linux进程间通信】深入探索:Linux下的命名管道与System V共享内存
  • Mythical Beings:Web3游戏如何平衡创造内容、关注度与实现盈利的不可能三角
  • 【Java 问题】基础——序列化
  • 如何使用 vSphere Client 给虚拟机扩容
  • 浅谈C#之SetSocketOption用法
  • 服务器平均响应时间和数据包大小关系大吗?
  • CIME2025深圳国际热管理材料与设备展览会2025.6.25-27
  • maven打包常用命令
  • React事件机制详解