【LeetCode】每日一题 2024_1_12 按位与结果大于零的最长组合(位运算)
前言
每天和你一起刷 LeetCode 每日一题~
LeetCode 启动!
题目:按位与结果大于零的最长组合
代码与解题思路
先读题:题目给了一个数组,让我们在数组选择一个 子序列 ,子序列中所有的数 按位与 的结果要大于 0
核心问题就在于,如何在 O(N) 的复杂度下,找到最长的所有数按位与大于 0 的子序列,常见的思路是通过枚举元素的比特位达成目的
枚举比特位:举个例子,让数组每一个元素的第一位进行 & 操作,只要 == 1 就证明结果必定 > 0,让计数++,具体代码如下:
▼go复制代码func largestCombination(candidates []int) (ans int) { n := bits.Len(uint(slices.Max(candidates))) // 获取数组中最长的比特位 for i := range n { cnt := 0 // 记录每个比特位能达成的最长长度 for _, v := range candidates { cnt += v>>i & 1 // 如果 & 1 == 1 长度就 + 1 } ans = max(ans, cnt) } return ans }
每天进步一点点,我们明天不见不散~
可以和我刷一辈子的每日一题吗? 一题一题,积累起来就是一辈子。
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 2✅ 今天做了:Claude Code提示词工厂学习;LangChain学习⏰ 明天计划:📚 今日感悟:
0
二
1
Day 13✅ 今天做了:6007复习:动态规划、最短路径、马尔可夫决策。⏰ 明天计划:1、6007复习、练习题、期中考2、5489作业3、学一下把ds接入qq4、优化马里奥项目,参考别人的参数进行优化
2
1. 什么是流式对话?WebSocket 和流式对话有什么区别?2.在 RAG 中 Embedding 究竟是什么?如何选择和评估一个 Embedding 模型?3.什么是AOP?谈谈你对AOP的理解?4.线程池中 submit() 和 execute() 方法有什么区别?5.如何合理分配线程池大小?
1
day5✅️:SpringBoot进度一点点,项目进度11%以上⏰️:加快SpringBoot的进度📚:没有web基础,学着好吃力啊但没办法必须快一点;Maven的反复配置和报错,插件的选择······我真的改到吐血了!凌晨2点16分,项目终于不报错了没有红色下划线了·······我深刻的发现,真正困难的、拖慢学习进度的,其实并不是知识和技术有多难学,而是准备阶段太痛苦了,任何的前提配置的独立探
2
作者分享
我的 2024 年度总结 —— 人生漫漫,何妨一试
69
寒假闲聊 01
1、随便聊聊 & 年终总结预告
这段时间家里发生了一些变故 . . . 我的人生规划也因此有了一些变化
欲知详情如何,可以等我的 2024 年终总结(没错,这次闲聊其实是年终总结的预告哒~)
2、美食分享~
妈妈做的豌豆炒肉+ 手工腊肠,每到过年,广东地区必备过冬食材,腊肉和腊肠~
8
【LeetCode】每日一题 2024_1_14 超过阈值的最少操作数 I(简单模拟)
6
【LeetCode】每日一题 2024_1_13 分割数组的方案数(数组)
5
【LeetCode】每日一题 2024_1_11 求出数字答案(数学/遍历/读题)
5

