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

Leetcode 3514. Number of Unique XOR Triplets II

  • Leetcode 3514. Number of Unique XOR Triplets II
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3514. Number of Unique XOR Triplets II

1. 解题思路

这一题是题目3513的进阶版本,其主要改动点就是数字不连续了,因此就无法保证前一题的取法总能被取到,我们就只能老老实实做动态规划了。

但是这道题还是多多少少做了些优化的,主要就是针对最大的数这块,首先保证了所有数均不大于1500,另外保证了总的数字也不会超过1500个,因此,事实上我们会得到的最大的结果就是2048,我们就可以针对其进行剪枝了。

其他的做法方面就没啥好说的了,首先就是求出来所有两个数的情况下能获得的值,然后将其与原数组进行遍历即可获得其最终3个数的所有可能组合,整体的算法复杂度就是 O ( N 2 ) O(N^2) O(N2)

2. 代码实现

给出python代码实现如下:

class Solution:def uniqueXorTriplets(self, nums: List[int]) -> int:n = len(nums)cache = defaultdict(set)cache[1] = set(nums)cache[2].add(0)for i in range(n-1):x = nums[i]for j in range(i+1, n):y = nums[j]cache[2].add(x ^ y)for x in nums:for y in list(cache[2]):cache[3].add(x ^ y)if len(cache[3]) == 2048:return len(cache[3])return len(cache[3])

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

相关文章:

  • python爬虫 线程,进程,协程
  • Oracle数据库数据编程SQL<01. 课外关注:数据库查重方法全面详解>
  • Linux指令和权限(10-3)
  • 聚铭网络亮相2025超云产品技术大会,联合发布“铭智安全运营大模型一体机及解决方案”
  • Rust 之五 所有权、.. 和 _ 语法、引用和切片、Vec<T>、HashMap<K, V>
  • MIT6.S081 - Lab8 Locks(锁优化 | 并发安全)
  • HTTP请求方法安全剖析(不安全的网络请求方法):从CVE-2017-12615看PUT/DELETE的风险利用
  • JavaScript的常用数组API原理
  • jspm企业采购管理系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 第四篇:[特殊字符] 深入理解MyBatis[特殊字符] 掌握MyBatis Generator ——入门与实战
  • AI 边缘计算盒子:开启智能物联新时代
  • Proteus 仿真51单片机-串口收发小窥
  • ES关系映射(数据库中的表结构)
  • MySQL数据库---修改密码以及设置密码永过期
  • 云渗透二(云主机攻防)
  • 搭建一个网站需要选择什么配置的服务器?
  • 服务器数据恢复—AIX小型机误删数据如何找回?
  • Mysql联表查询
  • C++实用函数:bind
  • AcWing 1583:PAT 计数 ← 中国电子学会青少年软件编程等级考试(2024年C++四级)
  • 全国人大常委会调研组在宁波调研,张庆伟带队钟山易炼红参加
  • 民生访谈|电动自行车换新补贴会优化吗?今年汛期情况如何?市应急局回应
  • 上海虹桥机场口岸单日出入境突破1.1万人次,创今年新高
  • 中远海运:坚决反对美方对中国海事物流及造船业301调查的歧视性决定
  • 寻女19年的“棉花糖爸爸”明将办团圆宴,大女儿:妹妹是片区销售主管
  • 人民网评:官方轻踩刹车,智能驾驶不能“蒙眼狂奔”