| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LeetCode笔记:Biweekly Contest 81 -> 正文阅读 |
|
[数据结构与算法]LeetCode笔记:Biweekly Contest 81 |
1. 题目一给出题目一的试题链接如下: 1. 解题思路这一题思路上还是比较直接的,按照题意找出成对的 2. 代码实现给出python代码实现如下:
提交代码评测得到:耗时32ms,占用内存13.8MB。 2. 题目二给出题目二的试题链接如下: 1. 解题思路这一题我的思路就是找到所有的相互之间存在连接的点的集合,然后对于每一个集合内的点,其与其他集合之间的任一点都可以构成一个不连通的点对。 由此,只要能够找出这些互通的点的集合,那么题目就迎刃而解了。 而至于如何去找到这些互通的点的集合,我这边的一个实现思路是通过DSU进行实现,关于DSU的部分,网上应该挺多了,有兴趣的读者也可以参考我之前写的博客【经典算法:并查集(DSU)结构简介】,这里就不过多赘述了。 2. 代码实现给出python代码实现如下:
提交代码评测得到:耗时4812ms,占用内存73.9MB。 3. 题目三给出题目三的试题链接如下: 1. 解题思路这一题还是蛮有意思的,考察变换 a ∧ ( a ⊕ x ) a \land (a \oplus x) a∧(a⊕x),它能够将位上的1修改为0或者1,但是位上的0始终还是0。 因此,只要存在某一个数的某一位上是1,那么我们总能够使得最终的结果在这一位上保持为1;反之,如果某一位上所有的数都为0,那么无论我们怎么取值,都无法令最后的结果中这一位上为1。 综上,我们就可以获得我们最终的答案。 2. 代码实现给出python的代码实现如下:
提交代码评测得到:耗时2595ms,占用内存23.9MB。 4. 题目四给出题目四的试题链接如下: 1. 解题思路这一题思路上反而比较直接,就是一个动态规划就完事了,这里就不过多展开了,稍微注意一下边界条件就行。 2. 代码实现给出python代码实现如下:
提交代码评测得到:耗时5259ms,占用内存528.3MB。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:47:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |