前言
每天和你一起刷 LeetCode 每日一题~
LeetCode 启动!
题目:找到按位或最接近 K 的子数组
代码与解题思路
今天是 2100 的题目,难度略高,不在我的能力范围,推荐题解:两种方法:LogTrick/滑动窗口(Python/Java/C++/C/Go/JS/Rust)
我的代码就是学习他的思路
func minimumDifference(nums []int, k int) int {
ans := math.MaxInt
for i, x := range nums {
ans = min(ans, abs(x-k))
for j := i-1; j >= 0; j-- {
if nums[j] | x == nums[j] {
break
}
nums[j] |= x
ans = min(ans, abs(nums[j]-k))
}
}
return ans
}
func abs(a int) int {
if a > 0 {
return a
}
return -a
}
我现在的能力只在 2000 分以下的题目,如果难度太高就会像今天这样 . . . 写不出什么东西,希望之后在不断积累中能真正做到拿捏力扣的每日一题吧~
每天进步一点点,我们明天不见不散~
可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。