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

建设银行甘肃分行网站网站的竞争对手

建设银行甘肃分行网站,网站的竞争对手,深圳论坛,广西壮族自治区图书馆官网Leetcode 2935. Maximum Strong Pair XOR II 1. 解题思路2. 代码实现 题目链接:2935. Maximum Strong Pair XOR II 1. 解题思路 这一题又是一个限制条件下找“最大值”的问题,不过这里的最大值是XOR之后的最大值。 而要求XOR之后结果的最大值&#x…
  • Leetcode 2935. Maximum Strong Pair XOR II
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:2935. Maximum Strong Pair XOR II

1. 解题思路

这一题又是一个限制条件下找“最大值”的问题,不过这里的最大值是XOR之后的最大值。

而要求XOR之后结果的最大值,事实上我们只要找到这个数的位反结果即可,因此,我们通过一个trie树事实上很快就能找到这个数。而关于trie树的内容,我们之前已经写过了一个博客(经典算法:Trie树结构简介)对其进行介绍过了,如果有不了解的同学可以直接跳转去快速了解一下,这里就不展开赘述了。

剩下的问题就是如何来处理这个限制条件,题中的限制条件要求:

∣ x − y ∣ ≤ m i n ( x , y ) |x-y| \leq \mathop{min}(x, y) xymin(x,y)

不妨设 x ≤ y x \leq y xy,那么限制条件就是 y ≤ 2 x y \leq 2x y2x

因此,我们对原数组去重排序之后,就可以通过一个滑动窗口来确保每一次query过程中,trie树当中所有的数字均可满足上述限制条件。

只不过,这里我们需要特殊一点实现一个trie树的元素删除操作。

2. 代码实现

给出python代码实现如下:

class Trie:def __init__(self):self.trie = {}def add(self, num):trie = self.triefor digit in num:trie = trie.setdefault(digit, {})trie["eos"] = numdef find(self, num):trie = self.triefor digit in word:if digit not in trie:return Falsetrie = trie[digit]return "eos" in triedef find_closest(self, num):trie = self.triefor digit in num:if digit not in trie:digit = "1" if digit == "0" else "0"trie = trie[digit]return trie["eos"]def remove(self, num):tries = []trie = self.triefor digit in num:tries.insert(0, (digit, trie))trie = trie[digit]for digit, trie in tries:trie.pop(digit)if len(trie) > 0:breakreturnclass Solution:def maximumStrongPairXor(self, nums: List[int]) -> int:def num2digit(num):ans = bin(num)[2:]return ans.rjust(20, "0")def digit2num(digits):ans = 0for digit in digits:ans = ans * 2 + int(digit)return ansdef reverse(digits):return "".join(str(1-int(d)) for d in digits)trie = Trie()nums = sorted(set(nums))r, n = 0, len(nums)ans = 0for num in nums:while r < n and nums[r] <= 2 * num:digits = num2digit(nums[r])trie.add(digits)r += 1digits = num2digit(num)tgt = reverse(digits)ret = trie.find_closest(tgt)ret = digit2num(ret)ans = max(ans, ret^num)trie.remove(digits)return ans

提交代码评测得到:耗时4674ms,占用内存79.6MB。

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

相关文章:

  • 做网站计入什么科目1688平台
  • ui设计素材网站有哪些seo网站优化推荐
  • wap手机网站开发软件dedecms转wordpress
  • 优秀的集团网站军事网站模板
  • 网站后台登陆地址山东省住房和城乡建设厅二级建造师
  • 榆林网站优化常州专业网站建设推广
  • 幼教资源网网站开发策划书wordpress数据包
  • 网站建好后广告是不是需要外贸公司介绍
  • 如何使用模板做网站关键对话
  • 郑州百姓网征婚江苏seo平台
  • 公司网站建设一条wordpress 编辑器增加按钮
  • dz门户做视频网站龙岗模板网站建设
  • 河南省建设工程造价信息网站工作优化方案怎么写
  • 三合一网站建设是指网页编辑人头
  • 新网站怎么推广企业站系统
  • 网页设计html实验总结站内优化主要从哪些方面进行
  • 兰州市建设局官方网站手机界面设计素材
  • 建设银行的网站查询密码企业网站cms模板
  • 餐厅网站建设方案wordpress图片存放地址
  • 在柬埔寨做网络销售推网站网站空间在那里买
  • 网站建设虚拟服务器磁县网站设计公司
  • 苏州 网站设计uc搜索引擎入口
  • 如何在网站上做标记圈信息网站开发项目具体的流程
  • 哪个平台建网站比较好做别人一摸一样的网站犯法吗
  • 北京住房和建设部网站首页seo建设
  • 广东网站建设怎么选上海网站开发培训
  • 做化妆品等的网站如何在亚马逊开店
  • 留学中介网站建设方案品牌查询官网
  • 源码之家网站排行榜123网
  • 网站的建设背景专门做酒店自助餐的网站