GitHub


  • 我的主页

  • 日志总览

  • 分门别类

  • 关于博主

  • 搜索

变为棋盘(Leetcode 782)

发表于 2022-09-07 | 分类于 刷题记录 , 数学 , 模拟 , 位运算 |
| 字数统计: 1.1k | 阅读时长 ≈ 4
Leetcode 782

1

题目分析

   遇到本题,我们先思考应该如何交换,能否先交换列,然后再交换行?交换列时有什么特征,交换行有什么特征?

阅读全文 »

寻找重复的子树(Leetcode 652)

发表于 2022-09-06 | 分类于 刷题记录 , 哈希表 , 树 , 递归 |
| 字数统计: 1.1k | 阅读时长 ≈ 5
Leetcode 652

1

题目分析

   Leetcode的每日一题是这个题目,翻了一下当时的博客,发现这是很早以前做过的题目了。第一次做是在两年前了。这个题目还是比较复杂的,这一次还是没有想到最优的解法。能想到的方法是记录所有子树的结构,然后将结构序列化存入字典中,并记录每个结构出现的次数,当次数大于1说明有重复的结构。我们就在python的基础上补充java的题解吧。

阅读全文 »

链表

发表于 2022-09-03 | 分类于 数据结构和算法 , 数据结构部分 |
| 字数统计: 3.8k | 阅读时长 ≈ 15
链表

链表

链表介绍

  链表(Linked List):链表是一种非常基础的数据结构,链表的实现和数组不同,链表中的元素是一个个的节点,不是存放在连续的地址空间中的,当需要添加元素时,在最后一个节点的尾部添加一个节点即可。C++中的list、以及Java中的LinkedList,都是链表,当时只是讲解了链表的使用,并没有讲解实现和源码。我们今天从增、删、改、查入手,详细讲解一下链表的源码。

阅读全文 »

计算右侧小于当前元素的个数(Leetcode 315)

发表于 2022-08-31 | 分类于 刷题记录 , 数组 , 分治 |
| 字数统计: 1.1k | 阅读时长 ≈ 5
Leetcode 315

1

题目分析

   在前面刚刚讲解完逆序对,下面就来了一题类似的题目,这个题目比逆序对稍微又困难了一点,暴力算法肯定是不能做出来了,还是两种方法,分治算法和树状数组,小伙伴们尝试一下如何求解,有困难的小伙伴可以参考逆序对

阅读全文 »

数组中的逆序对(Leetcode 剑指Offer51)

发表于 2022-08-28 | 分类于 刷题记录 , 树状数组 , 分治 |
| 字数统计: 1.5k | 阅读时长 ≈ 6
Leetcode 剑指Offer51

1

题目分析

   这个题目还有一种另外的表达方式,交换两个相邻数,使得数组有序的最少交换次数,两个题目的意思是相同的,都是寻找逆序数的对数。这个题目最早是2020年写的题解,后面随着学习的深入,掌握了一些更高级的数据结构,可以有另外的思路求解本题,对这篇博客进行补充。

阅读全文 »

最大相等频率(Leetcode 1224)

发表于 2022-08-25 | 分类于 刷题记录 , 哈希表 , 模拟 |
| 字数统计: 701 | 阅读时长 ≈ 2
Leetcode 1224

1

题目分析

   又是一个困难题,遇到困难题目,我们先模拟结果。是不是要记录每一个元素出现的次数,然后比较次数是否除了一个数,剩下的均相等?

按照我们的思路,**时间复杂度是O(n^2)**,但是数据量是1e5,因此我们要想一下如何优化。

阅读全文 »

动态数组

发表于 2022-08-20 | 分类于 数据结构和算法 , 数据结构部分 |
| 字数统计: 3.4k | 阅读时长 ≈ 14
动态数组

动态数组

动态数组介绍

  动态数组(Dynamic array):动态数组是一种非常基础的数据结构,指的是大小可以变化的数组。之前在讲语言基础的时候,Python中的list、C++中的vector、以及Java中的ArrayList,都是动态数组,当时只是讲解了动态数组的使用,并没有讲解实现和源码。我们今天从增、删、改、查入手,详细讲解一下动态数组的源码。

阅读全文 »

特殊的二进制序列(Leetcode 761)

发表于 2022-08-18 | 分类于 刷题记录 , 分治 |
| 字数统计: 828 | 阅读时长 ≈ 3
Leetcode 761

1

题目分析

   我们看到困难题,首先要有信心去解决它,要向之前做过的题目靠近。本题特殊的二进制序列,本质上就是括号的匹配问题,合法的括号表达式是怎么样的?是不是左括号和右括号相等,如果将左括号类比1,右括号类比0,是不是每一个前缀码中的1要大于等于0?

阅读全文 »

最多能完成排序的块 II(Leetcode 768)

发表于 2022-08-18 | 分类于 刷题记录 , 单调栈/单调队列 |
| 字数统计: 450 | 阅读时长 ≈ 1
Leetcode 768

1

题目分析

   这个题目,我们拿到之后,首先应该想到模拟,用给定的几个示例,模拟一下如何划分。

阅读全文 »

有序队列(Leetcode 899)

发表于 2022-08-15 | 分类于 刷题记录 , 字符串 |
| 字数统计: 790 | 阅读时长 ≈ 3
Leetcode 899

1

题目分析

   这又是一个字符串类型的题目,如果k = 1,是什么情况?如果k != 1是什么情况?

阅读全文 »
<1…789…43>
USTCcoder

USTCcoder

身体和灵魂总有一个在路上

428 日志
70 分类
RSS
GitHub weibo
Links
  • 百度搜索
  • 中国科学技术大学
© 2023 USTCcoder
本站访客数 人 本站总访问量 次
0%