Leetcode周赛 1521. Find a Value of a Mysterious Function Closest to Target

博客探讨了如何优化LeetCode周赛中的一个问题,即寻找数组中满足特定条件的AND运算结果与目标值之间的绝对差最小值。文章提到了一种利用单调性的优化方法,但指出这种方法在某些情况下可能导致性能退化到O(n^2)。为了解决这个问题,提出了在遍历过程中跳过相等连续元素的策略,以避免重复计算并保持正确性。尽管如此,作者也指出了这种方法的局限性,因为它依赖于特定的递减性质,而在某些情况下该性质可能无法保持。
摘要由CSDN通过智能技术生成

吹雪❣俺は嫁た。いつもいつも大好き


a b s ( a r r [ l ] & a r r [ l + 1 ] ⋯ & a r r [ r ] − t a r g e t ) abs( arr[l] \& arr[l+1] \cdots \&arr[r] - target) abs(arr[l]&arr[l+1]&arr[r]target)
最小值


先贴一个思路很棒的优化,充分利用单调不增的性质
AND(l,r)表示 a r r [ l ] & a r r [ l + 1 ] ⋯ & a r r [ r ] arr[l] \& arr[l+1] \cdots \& arr[r] arr[l]&arr[l+1]&arr[r],根据&运算规则我们知道 a < a&b,因此可推得
A N D ( l , r ) ≥ A N D ( l , r

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值