LeetCode 3314.构造最小位运算数组 I:今日先简单题简单做-到II再优化

【LetMeFly】3314.构造最小位运算数组 I:今日先简单题简单做-到II再优化

力扣题目链接:https://leetcode.cn/problems/construct-the-minimum-bitwise-array-i/

给你一个长度为n的质数数组nums。你的任务是返回一个长度为n的数组ans,对于每个下标i,以下条件均成立:

  • ans[i] OR (ans[i] + 1) == nums[i]

除此以外,你需要最小化结果数组里每一个ans[i]

如果没法找到符合条件ans[i],那么ans[i] = -1

质数指的是一个大于 1 的自然数,且它只有 1 和自己两个因数。

示例 1:

输入:nums = [2,3,5,7]

输出:[-1,1,4,3]

解释:

  • 对于i = 0,不存在ans[0]满足ans[0] OR (ans[0] + 1) = 2,所以ans[0] = -1
  • 对于i = 1,满足ans[1] OR (ans[1] + 1) = 3的最小ans[1]1,因为1 OR (1 + 1) = 3
  • 对于i = 2,满足ans[2] OR (ans[2] + 1) = 5的最小ans[2]4,因为4 OR (4 + 1) = 5
  • 对于i = 3,满足ans[3] OR (ans[3] + 1) = 7的最小ans[3]3,因为3 OR (3 + 1) = 7

示例 2:

输入:nums = [11,13,31]

输出:[9,12,15]

解释:

  • 对于i = 0,满足ans[0] OR (ans[0] + 1) = 11的最小ans[0]9,因为9 OR (9 + 1) = 11
  • 对于i = 1,满足ans[1] OR (ans[1] + 1) = 13的最小ans[1]12,因为12 OR (12 + 1) = 13
  • 对于i = 2,满足ans[2] OR (ans[2] + 1) = 31的最小ans[2]15,因为15 OR (15 + 1) = 31

提示:

  • 1 <= nums.length <= 100
  • 2 <= nums[i] <= 1000
  • nums[i]是一个质数。

解题方法:模拟

今天就每个数O ( 1 ) O(1)O(1)的话,明天的每日一题就没得做了。

对于一个数n nn,如何求得其对应的最小a n s ansans

使用一个变量从0 00试到n − 1 n-1n1就好了。

每个数都这样试试,也不用优化,今日的每日一题就这样结束了。

  • 时间复杂度O ( l e n ( n u m s ) × max ⁡ ( n u m s ) ) O(len(nums)\times\max(nums))O(len(nums)×max(nums))
  • 空间复杂度O ( 1 ) O(1)O(1),力扣返回值不计入算法空间复杂度

AC代码

C++
/* * @LastEditTime: 2026-01-20 22:52:17 */classSolution{private:intget(intn){for(inti=0;i<=n;i++){if((i|(i+1))==n){returni;}}return-1;}public:vector<int>minBitwiseArray(vector<int>&nums){vector<int>ans(nums.size());for(inti=0;i<nums.size();i++){ans[i]=get(nums[i]);}returnans;}};
Python
''' LastEditTime: 2026-01-20 22:55:49 '''fromtypingimportListclassSolution:defget(self,n:int)->int:foriinrange(n):if(i|(i+1))==n:# 不是(i or (i + 1))returnireturn-1defminBitwiseArray(self,nums:List[int])->List[int]:return[self.get(t)fortinnums]
Java
/* * @LastEditTime: 2026-01-20 23:04:56 */importjava.util.List;classSolution{privateintget(intn){for(inti=0;i<n;i++){if((i|(i+1))==n){returni;}}return-1;}publicint[]minBitwiseArray(List<Integer>nums){int[]ans=newint[nums.size()];// 是size不是lengthfor(inti=0;i<nums.size();i++){ans[i]=get(nums.get(i));}returnans;}}
Go
/* * @LastEditTime: 2026-01-20 22:58:16 */packagemainfuncminBitwiseArray(nums[]int)[]int{get:=func(nint)int{fori:=0;i<n;i++{if(i|(i+1))==n{returni}}return-1}ans:=make([]int,len(nums))fori,n:=rangenums{ans[i]=get(n)}returnans}
Rust
/* * @LastEditTime: 2026-01-20 23:07:14 */implSolution{fnget(n:i32)->i32{foriin0..n{if(i|(i+1))==n{returni;}}-1}pubfnmin_bitwise_array(nums:Vec<i32>)->Vec<i32>{nums.iter().map(|&num|Self::get(num)).collect()}}
Rust - 压缩版(bushi)
/* * @LastEditTime: 2026-01-20 23:09:46 */implSolution{pubfnmin_bitwise_array(nums:Vec<i32>)->Vec<i32>{nums.iter().map(|&n|{foriin0..n{if(i|(i+1))==n{returni;}}-1}).collect()}}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1194198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从同步到异步的华丽转身:手把手教你重构代码实现百万级并发处理

第一章&#xff1a;从同步到异步&#xff1a;为何百万级并发离不开async/await在构建高并发服务时&#xff0c;传统同步编程模型很快会遭遇瓶颈。每个请求占用一个线程&#xff0c;而线程资源昂贵且数量受限&#xff0c;导致系统无法支撑大量同时连接。异步编程通过事件循环和非…

如何用Python在10分钟内成功调用Deepseek API?工程师都在偷偷看的教程

第一章&#xff1a;Python调用Deepseek API的核心准备 在使用 Python 调用 Deepseek 提供的 API 服务前&#xff0c;开发者需要完成一系列环境与权限配置工作。这些准备工作确保后续请求能够被正确发送并接收响应。 获取API密钥 访问 Deepseek 官方平台&#xff0c;在用户控制…

Python OpenCV处理摄像头实时画面(从入门到实战的完整指南)

第一章&#xff1a;Python OpenCV处理摄像头实时画面概述在计算机视觉应用中&#xff0c;实时处理摄像头画面是许多项目的基础环节&#xff0c;例如人脸识别、运动检测和视频监控系统。Python 结合 OpenCV 库为开发者提供了高效且简洁的工具链&#xff0c;能够快速实现从摄像头…

济南硕士留学中介top10全面对比,无隐形消费保障详解指南

济南硕士留学中介top10全面对比,无隐形消费保障详解指南一、济南硕士留学中介如何选择与避坑?在2026年1月9日,许多计划攻读硕士学位的济南学子及其家庭,在搜索引擎上频繁查询诸如“济南硕士留学中介哪家口碑好”、…

高速高频阻抗匹配:差分信号PCB设计与协同优化

问&#xff1a;什么是高速差分信号&#xff1f;为什么它的阻抗匹配比单端信号更严格&#xff1f;高速差分信号是由两根极性相反、幅度相等的信号组成的传输对&#xff0c;常见的如 USB3.0、HDMI、PCIe、DDR4 等接口&#xff0c;都是采用差分信号传输。与单端信号相比&#xff0…

安全生产管理究竟应该管什么?

谢邀。安全生产管理究竟应该管什么&#xff1f;很多企业一提安全生产&#xff0c;脑子里第一反应就是&#xff1a;出事故了怎么办&#xff1f;被检查发现问题怎么办&#xff1f;会不会被罚款&#xff1f;如果你只是把安全生产理解成不出事、检查过关就行&#xff0c;那已经落后…

好写作AI:48小时极限肝论文?你的“学术急救包”已送达!

当课程论文DDL只剩两天&#xff0c;而你文档字数还是“0”&#xff0c;那种感觉是不是像在玩“学术版绝地求生”&#xff1f;别慌&#xff0c;你的“赛场空投”——好写作AI已精准送达&#xff0c;帮你科学冲刺&#xff0c;告别通宵无效劳动&#xff01;好写作AI官方网址&#…

Python虚拟环境终极教程:从零开始学会venv的6大核心命令

第一章&#xff1a;Python虚拟环境的核心价值与应用场景Python虚拟环境是现代Python开发中不可或缺的工具&#xff0c;它为项目提供隔离的运行空间&#xff0c;确保依赖包的版本互不干扰。在团队协作、多项目并行或部署生产环境时&#xff0c;虚拟环境能有效避免“在我机器上能…

揭秘Word文档合并黑科技:用Python轻松搞定批量处理

第一章&#xff1a;Word文档合并自动化办公概述 在现代办公环境中&#xff0c;处理大量Word文档已成为日常任务之一。当需要将多个报告、合同或章节内容整合为单一文件时&#xff0c;手动复制粘贴不仅耗时&#xff0c;还容易引入格式错误。通过自动化手段实现Word文档的批量合并…

Vue3 Pinia中store清理最佳实践

vue3pinia中&#xff0c;这样写是否可以&#xff1f; onUnmounted(() > {capitalInfoStore.$dispose(); // 这里还是需要 $dispose()&#xff0c;否则换账号登录后&#xff0c;不会刷新权限// 重置数据状态&#xff0c;在组件 onUnmounted 中清理特定订阅而非销毁整个 store…

高频阻抗匹配仿真与实测验证的完整流程

为什么高速高频阻抗匹配必须做仿真验证&#xff1f;仿真能解决哪些实际问题&#xff1f;在高速高频领域&#xff0c;“凭经验设计” 已经行不通了。信号频率越高&#xff0c;传输线效应越明显&#xff0c;寄生参数的影响越复杂&#xff0c;仅凭公式计算和经验判断&#xff0c;很…

好写作AI:在职硕士的“时间刺客”——工作论文我全都要!

白天被KPI追着跑&#xff0c;晚上被论文进度吓得睡不着&#xff1f;作为在职硕士&#xff0c;你是否感觉自己在“职场卷王”和“学术菜鸟”之间反复横跳&#xff1f;别慌&#xff0c;你的“平衡术外挂”——好写作AI已上线&#xff0c;专治各种“没时间”“没精力”“没头绪”&…

【工业级爬虫架构设计】:集成OCR与模型识别绕过复杂验证码

第一章&#xff1a;工业级爬虫中的验证码挑战在构建工业级网络爬虫系统时&#xff0c;验证码&#xff08;CAPTCHA&#xff09;是绕不开的技术屏障。其设计初衷是区分人类用户与自动化程序&#xff0c;广泛应用于登录、注册、高频访问等场景&#xff0c;成为反爬策略的核心组成部…

为什么可持续发展成为开发者新热点?

技术演进与生态责任的交汇 在算力需求激增与全球减碳目标双重驱动下&#xff0c;软件开发领域正经历从"高效交付"到"可持续交付"的范式迁移。截至2025年&#xff0c;全球数据中心能耗已占电力总量的3%&#xff0c;而AI测试工具的碳足迹较传统方法降低38%的…

【Asyncio高手进阶之路】:从入门到精通掌握Python异步编程精髓

第一章&#xff1a;Asyncio高手进阶之路&#xff1a;异步编程核心理念在现代高并发应用开发中&#xff0c;异步编程已成为提升性能与资源利用率的关键技术。Python 的 asyncio 库提供了完整的异步 I/O 框架&#xff0c;其核心在于事件循环&#xff08;Event Loop&#xff09;驱…

好写作AI:英语写作还在“中式翻译”?你的地道表达外挂来了!

写英文论文时&#xff0c;是否经历过这种绝望&#xff1a;每个单词都认识&#xff0c;但组合起来就是一股浓浓的“翻译腔”&#xff1f;导师批注“awkward expression”多得像满天星&#xff1f;别慌&#xff0c;这真不是你的错——思维在汉语赛道&#xff0c;写作却要进英语车…

Java毕设项目推荐-基于Spring Boot的教师资源管理系统开发基于Web的师资管理系统设计与实现【附源码+文档,调试定制服务】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

只用1小时!掌握Flask构建RESTful API的7个关键技术点

第一章&#xff1a;Flask与RESTful API简介 Flask 是一个轻量级的 Python Web 框架&#xff0c;以其简洁性和可扩展性著称。它允许开发者快速构建 Web 应用和 API&#xff0c;而无需强制引入大量组件。结合 RESTful API 设计风格&#xff0c;Flask 成为构建现代后端服务的理想选…

互联网大厂Java面试实录:Spring Boot、微服务与AI技术全方位解析

互联网大厂Java面试实录&#xff1a;Spring Boot、微服务与AI技术全方位解析 在互联网大厂求职现场&#xff0c;严肃的面试官与幽默的水货程序员谢飞机展开了一场关于Java核心技术栈的面试。面试围绕电商场景&#xff0c;涵盖从基础Java、Spring Boot&#xff0c;到微服务架构、…

Python读取大文件总内存溢出?这3个冷门但超强的库你必须知道

第一章&#xff1a;Python读取大文件Excel内存溢出的根源剖析在处理大型Excel文件时&#xff0c;开发者常遇到程序崩溃或响应缓慢的问题&#xff0c;其核心原因在于内存溢出。Python中常用的 pandas 和 openpyxl 库默认将整个Excel文件加载到内存中进行解析&#xff0c;当文件体…