解决leetcode第3309题连接二进制表示可形成的最大数值

server/2024/10/17 18:11:05/

难度:中等

问题描述:

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

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

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

示例 1:

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

输出: 30

解释:

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

示例 2:

输入: nums = [2,8,16]

输出: 1296

解释:

按照顺序 [2, 8, 16] 连接数字的二进制表述,得到结果 "10100010000",这是 1296 的二进制表示。

提示:

nums.length == 3

1 <= nums[i] <= 127

解决问题思路:

既然要得到以某种顺序连接数组nums中所有元素的二进制表示的最大值,首先是将整数数组nums转化成二进制数组,然后得到这三个二进制整数形成的全排列,再找出其中的最大值输出,即解决问题。为此生成了三个函数:

1、函数covert(n)

功能:将一个整数n转换为字符串形式的二进制数并返回

2、函数fulllist(a)

功能:返回二进制数组元素的全排列

3、函数myint(s)

功能:将一个字符串形式的二进制整数s转换为对应的十进制数返回

程序如下:

python">#将一个整数n转换为一个字符串形式的二进制数并返回
def covert(n):b=bin(n)[2:]return b#对于有三个字符元素的列表a,返回其组成的全排列
def fulllist(a):return [a[0]+a[1]+a[2],a[0]+a[2]+a[1],a[1]+a[0]+a[2],a[1]+a[2]+a[0],a[2]+a[0]+a[1],a[2]+a[1]+a[0]]#将一个字符串的二进制数转换为十进制整数
def myint(s):return int(s,2)#以下为正式解决过程
#输入原始整数数组
nums=eval(input('pls input nums='))#将nums整数列表转换为对应的二进制列表
nums=list(map(covert,nums))#获得二进制列表形成的全排列
nums=fulllist(nums)#将全排列的二进制列表数据转换为对应的十进制数列表
nums=list(map(myint,nums))#打印其中的最大值
print(max(nums))

运行实例1:

pls input nums=[1,2,3]

30

运行实例2:

pls input nums=[3,6,9]

489

运行实例3:

pls input nums=[2,8,16]

1296

感悟:

要多去看一下leetcode中的题目,多多训练思维。人不学就落后,刀不磨就生锈。


http://www.ppmy.cn/server/132550.html

相关文章

ITSS服务经理认证有什么用?

在当今数字化快速发展的时代&#xff0c;ITSS 服务项目经理扮演着至关重要的角色。 ITSS 服务项目经理&#xff0c;不仅需要具备扎实的技术知识&#xff0c;还得拥有卓越的管理能力和出色的沟通技巧。他们宛如一座桥梁&#xff0c;连接着技术团队与客户需求&#xff0c;确保服…

PostgreSQL学习笔记六:模式SCHEMA

模式&#xff08;Schema&#xff09; PostgreSQL中的模式&#xff08;Schema&#xff09;是一个命名的数据库对象集合&#xff0c;包括表、视图、索引、数据类型、函数、存储过程和操作符等。模式的主要作用是组织和命名空间数据库对象&#xff0c;使得同一个数据库中可以包含…

2024双十一值得购买的好物有哪些?看完这五款好物让你不后悔!

随着一年一度的双十一购物狂欢节即将拉开帷幕&#xff0c;作为一名热衷于分享购物心得的博主&#xff0c;我今天特别想在这里为大家详细介绍五款我个人非常期待入手的好物。这些产品都是经过我精心挑选和试用的&#xff0c;我相信它们不仅能够满足我的需求&#xff0c;同样也能…

数字后端零基础入门系列 | Innovus零基础LAB学习Day1

一 Floorplan 数字IC后端设计如何从零基础快速入门&#xff1f;(内附数字IC后端学习视频&#xff09; Lab5-1这个lab学习目标很明确——启动Innovus工具并完成设计的导入。 在进入lab之前&#xff0c;我们需要进入我们的FPR工作目录。 其中ic062为个人服务器账户。比如你端…

【LeetCode】每日一题 2024_10_16 最小元素和最大元素的最小平均值(排序、模拟)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;最小元素和最大元素的最小平均值 连续两天的简单题了&#xff0c;我有预感&#xff0c;明天的每日一题估计要来大的了 代码与解题思路 今天的题目算是标准的简单模拟题&#xff0c; 需要…

985研一学习日记 - 2024.10.17

一个人内耗&#xff0c;说明他活在过去&#xff1b;一个人焦虑&#xff0c;说明他活在未来。只有当一个人平静时&#xff0c;他才活在现在。 日常 1、起床6:00√ 2、健身1个多小时 今天练了二头和背部&#xff0c;明天练胸和三头 3、LeetCode刷了3题 旋转图像&#xff1a…

西门子网络程序传输,无需开通网络驱动器直接接入底层,支持各类数控 如发那科、三菱 、新代、海德汉、广数、精雕、马扎克等等

有关西门子的程序传输问题&#xff0c;大家一般是通过文件共享、ftp、网络驱动器等方式&#xff0c;其中828D还需要授权开通网络启动器 下面介绍一种方式直接进入西门子Linux底层系统实现和NCK的文件交互功能 软件截图如下 功能表如下 机床程序上载至电脑 电脑程序下传…

Chromium html<script>对应c++接口定义

<script>&#xff1a;脚本元素 <script> 元素用于嵌入可执行代码或数据&#xff0c;这通常用作嵌入或者引用 JavaScript 代码。<script> 元素也能在其他语言中使用&#xff0c;比如 WebGL 的 GLSL 着色器语言和 JSON。 更多参考&#xff1a;<script>&…