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

给企业做网站前景教育机构网站模板

给企业做网站前景,教育机构网站模板,微信小程序里的游戏怎么彻底关闭,少儿编程课哪个机构最好目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给你一个正整数 p 。你有一个下标从 1 开…

 目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:. - 力扣(LeetCode)


描述:

给你一个正整数 p 。你有一个下标从 1 开始的数组 nums ,这个数组包含范围 [1, 2p - 1] 内所有整数的二进制形式(两端都 包含)。你可以进行以下操作 任意 次:

  • 从 nums 中选择两个元素 x 和 y  。
  • 选择 x 中的一位与 y 对应位置的位交换。对应位置指的是两个整数 相同位置 的二进制位。

比方说,如果 x = 1101 且 y = 0011 ,交换右边数起第 2 位后,我们得到 x = 1111 和 y = 0001 。

请你算出进行以上操作 任意次 以后,nums 能得到的 最小非零 乘积。将乘积对 109 + 7 取余 后返回。

注意:答案应为取余 之前 的最小值。

示例 1:

输入:p = 1
输出:1
解释:nums = [1] 。
只有一个元素,所以乘积为该元素。

示例 2:

输入:p = 2
输出:6
解释:nums = [01, 10, 11] 。
所有交换要么使乘积变为 0 ,要么乘积与初始乘积相同。
所以,数组乘积 1 * 2 * 3 = 6 已经是最小值。

示例 3:

输入:p = 3
输出:1512
解释:nums = [001, 010, 011, 100, 101, 110, 111]
- 第一次操作中,我们交换第二个和第五个元素最左边的数位。- 结果数组为 [001, 110, 011, 100, 001, 110, 111] 。
- 第二次操作中,我们交换第三个和第四个元素中间的数位。- 结果数组为 [001, 110, 001, 110, 001, 110, 111] 。
数组乘积 1 * 6 * 1 * 6 * 1 * 6 * 7 = 1512 是最小乘积。

提示:

  • 1 <= p <= 60

解题思路:

首先,我们了解一个概念,两个数之和不变时,大的数越大,小的数越小,则乘积就越小。比如之和为8,则1*7最小,4*4最大。所以这道题,我们就是要让大的数越大,小的数越小。

以p=3为例,有7个数:[1,2,3,4,5,6,7],1和7无法加减,则让2和5结合,2和4结合。得到[1,1,1,6,6,6,7]。

总结规律:有2^(p-1)-1个1 以及 2^(p-1)-1个2^p-2,以及1个2^p-1。

1可以忽略,则最终就是 2^(p-1)-1个2^p-2和1个2^p-1的乘积。

代码:

class Solution {public int minNonZeroProduct(int p) {if (p == 1) {return 1;}long mod = 1000000007;long x = fastPow(2, p, mod) - 1;long y = (long) 1 << (p - 1);return (int) (fastPow(x - 1, y - 1, mod) * x % mod);}public long fastPow(long x, long n, long mod) {long res = 1;for (; n != 0; n >>= 1) {if ((n & 1) != 0) {res = res * x % mod;}x = x * x % mod;}return res;}
}

http://www.yayakq.cn/news/80045/

相关文章:

  • 郑州网站APP软件设计的过程
  • 怎么做跳转网站首页我们为什么选择做电子商务网站
  • 网站建设制作、微信公众号浙江省建设安全监督站的网站
  • asp.net开发网站和优势青岛做网站seo
  • seo站内优化最主要的是什么seo实战密码pdf
  • 上海市建设考核中心网站上海一网
  • 网站主机租用多少钱千锋教育
  • 遵义市建设局网站网站建设方案怎么写
  • 男女做暧昧视频网站网站安全建设目的是什么
  • 赣榆网站制作网站建设当中的技术解决方案
  • 网站开发 实训 报告广州有什么好玩的地方或景点
  • 重庆网站建站系统网页设计收费标准
  • 可以拔下来做的网站吗南沙门户网站建设
  • 免费html网页模板素材网站中文绿色环保网站模板下载
  • 重庆家政网站建设ui视觉设计常用软件是什么
  • 医院 网站建设 中企动力wordpress主题文章页
  • 有网站加金币的做弊器吗6云畅网站建设后台
  • 做网站广告有哪些职位网站的大图标怎么做
  • 网站建设的专业知识企业网站快速备案服务
  • 江苏省交通运输厅门户网站建设管理中心餐饮网站开发方案
  • 网站建设与管理维护 大学论文wordpress慢 排查
  • 网站虚拟建设策划青岛有哪些大型的互联网公司
  • 公司网站建设接单网上商城网站开发需求说明书
  • destoon 网站后台wordpress qq微信登录
  • 做网站需要购买地域名吗公司网站制作制作
  • 高密哪里有做网站的37网页游戏中心
  • 温岭 网站建设软件生成器下载
  • 郑州网站制作哪家便宜信息服务平台网站
  • 采集的网站怎么做收录app模板免费下载
  • 养车网站开发网站公司设计 网站首页