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

微网站建设公司哪家好wordpress 新闻主题

微网站建设公司哪家好,wordpress 新闻主题,小型广告公司都干什么,网页设计实训总结和体会LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…

LeetCode 3309. 连接二进制表示可形成的最大数值(中等)

      • 题目描述
      • 解题思路
      • Java代码

题目描述

题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等)
给你一个长度为 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

解题思路

1.整体思路:使用递归回溯的方式尝试构造所有的拼接方案(构造全排列),取拼接方案中数值最大的即可。递归回溯法的关键在于:每次尝试之后,进行递归回退时要撤销尝试,将状态恢复成尝试之前的状态。

2.实现细节:开一个数组 v i s vis vis 来记录元素是否被选取过, v i s [ i ] vis[i] vis[i] 表示第 i i i 个数是否被选取过( 0 0 0 没选过, 1 1 1 选过)。每次尝试从 n u m s nums nums 数组中选取一个没被选过的数 n u m s [ i ] nums[i] nums[i] 拼接得到 c a n c a t cancat cancat ,将 v i s [ i ] vis[i] vis[i] 置为 1 1 1,表示该数已被选取过。当 n u m s nums nums 中的数都被选过时得到一种拼接方式,直接返回 c a n c a t cancat cancat 。每次回退时取消当前尝试,将 v i s [ i ] vis[i] vis[i] 恢复为 0 0 0,将 c a n c a t cancat cancat 恢复成之前的取值。在尝试的过程中更新拼接方案的最大取值。

3.如何实现二进制数的拼接:当前要拼接的数 n u m s [ i ] nums[i] nums[i] 二进制有几位,就把 c o n c a t concat concat 左移几位,然后将当前的数 n u m s [ i ] nums[i] nums[i] 加到 c o n c a t concat concat 上就实现了拼接。

Java代码

public class Solution {public int maxGoodNumber(int[] nums) {int vis[] = new int[nums.length];return dfs(0, 0, nums, vis);}/*** count:   已经选取的数的个数* concat:  拼接得到的数* nums:    可选数的数组* vis[i]:  第i个数是否被选取过*/int dfs(int count, int concat, int nums[], int vis[]) {if (count == nums.length) {// 所有的数的被选过,得到最终拼接的数return concat;}int res = Integer.MIN_VALUE;for (int i = 0; i < nums.length; i++) {// 判断当前数是否拼接过if (vis[i] == 0) {int x = nums[i], temp = concat;while (x > 0) {x = x >> 1;concat = concat << 1;}// 尝试拼接concat += nums[i];vis[i] = 1;// 可行拼接中取最大值res = Math.max(res, dfs(count + 1, concat, nums, vis));// 尝试完之后复原到拼接前的数concat = temp;vis[i] = 0;}}return res;}
}

文章转载自:

http://K6drcd3u.kdfnd.cn
http://tVCgxfdw.kdfnd.cn
http://8kvArV9B.kdfnd.cn
http://Pb8cTrLp.kdfnd.cn
http://YKVAALAY.kdfnd.cn
http://KtROA6RR.kdfnd.cn
http://JDxibNBD.kdfnd.cn
http://m839EzDc.kdfnd.cn
http://s3bUcff6.kdfnd.cn
http://yVXaCTDT.kdfnd.cn
http://kpkvJ7tH.kdfnd.cn
http://dzFSmjXY.kdfnd.cn
http://xWzKYzo0.kdfnd.cn
http://tv3vBHyB.kdfnd.cn
http://krDpxafn.kdfnd.cn
http://07XEOjjp.kdfnd.cn
http://8mfUJmjT.kdfnd.cn
http://ySKpPMFA.kdfnd.cn
http://BrX9vCeO.kdfnd.cn
http://Z3Zlchuv.kdfnd.cn
http://hDuuDZOv.kdfnd.cn
http://JAin3HEd.kdfnd.cn
http://S2b5CeCA.kdfnd.cn
http://c1meCHDZ.kdfnd.cn
http://Nc2fpGTo.kdfnd.cn
http://OAx8GOvK.kdfnd.cn
http://rsTyq2vW.kdfnd.cn
http://DZN7J798.kdfnd.cn
http://fQimPYqV.kdfnd.cn
http://6grQXFiu.kdfnd.cn
http://www.dtcms.com/wzjs/763459.html

相关文章:

  • 怎么做期货网站淮北信息网官方
  • 网站策划书ppt附近广告公司位置
  • 手机网站被拦截怎么解除物流网站毕业设计论文
  • 福建泉州做网站公司搜索引擎优化关键词
  • 朔州城市建设网站青海建设网站价格低
  • c 网站开发流程专业做家居的网站
  • 简单房地产网站怎么做PayPal网站收款
  • 做网站是学什么专业seo排名优化工具
  • 网站建设移动网络公司影响网站排名原因
  • 网站开发文档价格wordpress调用分类图片
  • 博客网站登录北京网站建设联系电话
  • 沙坪坝网站建设搜索引擎营销方法主要有三种
  • 注册网站后邮箱收到邮件移动wordpress加速
  • 郑州 网站制作电脑网页怎么下载视频
  • 购物网站建设与开发网站开发类型
  • 益阳网站建设公司电话北京病例最新消息今天
  • 公司网站开发策略和基本步骤哈尔滨网页设计学校
  • 如何提高网站内容质量鹰潭公司做网站
  • idc网站源码下载网站建设如何设计数据库
  • 织梦企业网站河北省建设厅网站备案
  • 茶叶网站源码php个人备案的域名可以做网站吗
  • 苗木网站模板椒江网站制作
  • 天津高端网站制作seo外链平台
  • 怎样做旅游摄影网站wordpress多程序用户同步
  • 公司建立自己的网站吗wordpress获取指定id分类名称
  • 成都网站设计最加科技WordPress彻底清理插件
  • 楼盘建设信息网站深圳市网站建设有限公司
  • alt网站标签怎么做第一源码网
  • 阿克苏建设网站品牌广告图片
  • 购物网站排名2016网站定制设计师