数据结构
文章平均质量分 81
rannrann
这个作者很懒,什么都没留下…
展开
-
【c++&leetcode】2265. Count Nodes Equal to Average of Subtree
这道题如果从上往下访问结点,只能计算和判断根节点的值是否是子树和的平均值。而从下往上访问结点,适用于所有的结点。原创 2023-12-10 18:08:13 · 472 阅读 · 1 评论 -
【c++&Leetcode】287. Find the Duplicate Number, 142. Linked List Cycle II
这就可以将索引视为指针,元素视为地址,画出下面这样的图进而观察到重复数的特点。这也就意味着,如果从不同方向的两个起点出发都是可以到达重复数的位置。如果两个起点和重复数位置的距离一样的话,那么两个指针一起从起点处出发必然可以相遇,而相遇的位置正好就是重复数的位置。起点1就是从索引0处开始。快慢指针同时从索引0处出发,它们第一次相遇的位置就是起点2。),还可以用来检测重复数。找到起点2之后我们可以再让一个慢指针从0处出发,两个慢指针同时出发,相遇的位置即重复数。如下图,两个指针走了三次后最终在3处相遇。原创 2023-11-01 15:17:31 · 153 阅读 · 0 评论 -
【Leetcode&C&Tire】677. Map Sum Pairs
问题入口实现通过递归很好解决该问题,但是由于遍历次数过多引发了Runtime Error(ps:这是用C语言编写的情况下),所以需要寻找其他解决方法。在我原本使用递归思路解决问题时,我对MapSum结构体定义如下:struct MapSum{MapSum **next; int value;};value>0(题目给的值都是正数)就表达了这个单词的值,同时也说明这是单词的结尾。等于一个属性参与了两个动作。如果我把每次加入的值都加在每一个字母上又会如何呢...原创 2020-10-05 16:13:24 · 136 阅读 · 0 评论 -
【Leetcode&C语言】973. K Closest Points to Origin
目录问题描述举例说明限制实现谁能告诉我它的时间复杂度问题描述We have a list ofpointson the plane. Find theKclosest points to the origin(0, 0).(Here, the distance between two points on a plane is the Euclidean distance.)You may return the answer in any order....原创 2020-09-07 17:57:38 · 315 阅读 · 0 评论 -
【二分搜索树&C语言】以非递归的方式删除最大值,返回最大值
方案一这个方案我不放心的原因是,ancestor和parent是new出来的,放在堆里的,所以要释放。因为最后要返回ancestor->right,所以不能释放ancestor。这样应该是不行的。那你除非返回的是ancestor。随后释放的时候还是一个麻烦。返回给root以后方案二代码实现//以非递归的方式删除最大值,返回最大值int BST_removeMaxNR(BST *bst,lrNode *node) { if (node->right == N.原创 2020-07-29 16:12:14 · 207 阅读 · 0 评论 -
【Leetcode&C语言】235. Lowest Common Ancestor of a Binary Search Tree
目录问题描述举例描述实现问题描述Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.According to thedefinition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and qas the...原创 2020-07-29 16:04:57 · 172 阅读 · 0 评论 -
【Leetcode&C语言】203. Remove Linked List Elements
目录问题描述举例说明思路实现结果问题描述Remove all elements from a linked list of integers that have valueval.删除链表中整数为val的元素。举例说明Input: 1->2->6->3->4->5->6, val = 6Output: 1->2->3->4->5思路 删除链表中的元素的一个思...原创 2020-07-17 14:50:32 · 258 阅读 · 0 评论 -
【leetcode&C语言】457. Circular Array Loop
问题描述You are given acirculararraynumsof positive and negative integers. If a numberkat an index is positive, then move forwardksteps. Conversely, if it's negative (-k), move backwardksteps. Since the array is circular, you may assume that the l...原创 2020-07-08 17:43:10 · 225 阅读 · 0 评论 -
【Leetcote&感想】155. Min Stack(无实现)
问题描述Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack. pop() -- Removes the element on top of the stack. top() -- Get the top element. getMin() -- Retrieve the m.原创 2020-07-02 17:33:04 · 181 阅读 · 0 评论 -
【leetcode&C语言】189. Rotate Array
目录问题描述举例说明限制思路实现反思问题描述Given an array, rotate the array to the right byksteps, wherekis non-negative.Follow up:Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem. Could y...原创 2020-06-17 18:55:18 · 219 阅读 · 0 评论 -
【Leetcode&C语言】448. Find All Numbers Disappeared in an Array
问题描述Given an array of integers where 1 ≤ a[i] ≤n(n= size of array), some elements appear twice and others appear once.Find all the elements of [1,n] inclusive that do not appear in this array.Could you do it without extra space and in O(n) runti...原创 2020-06-12 19:42:11 · 214 阅读 · 0 评论 -
【Leetcode&C语言】665. Non-decreasing Array
目录问题描述举例说明限制思路实现反思问题描述Given an array nums with n integers, your task is to check if it could become non-decreasing by modifying at most 1 element.We define an array is non-decreasing if nums[i] <= nums[i + 1] holds for every ...原创 2020-06-12 18:51:19 · 193 阅读 · 0 评论