- 博客(13)
- 收藏
- 关注
原创 876. 链表的中间结点
题目连接: 力扣看到该题时原来是没有思路,以为只能同过暴力遍历了。直到。。看到评论中的跳跃遍历,意思大致是:快慢指针,快指针每次遍历两个,慢指针每次遍历一个,当快指针指到空时,慢指针刚好位于中间。真是,妙哉妙哉。贴上我的代码class Solution {public: ListNode* middleNode(ListNode* head) { ListNode* fast = head; ListNode* slow = head;
2021-10-19 22:56:52
69
原创 我要通过!
题目链接:题目详情 (pintia.cn)分析条件2还可以理解,但条件3就一脸懵了,在参考网上的题解后,得到的结论大致可总结为:这道题主要的点在于'A'的个数。把...P...T...所视以P,T为分界分为三段,每段中间只能以'A"填充;P前'A'的个数为 a,P,T之间'A'的个数为b,T后面'A'的个数为c;如果 a * b= c,且b≠ 0,则可以满足题意。知道这个结论,我才get到条件3的意思:题目中"aPbATca" 的意思是:转换为'A'的个数,bA 即为..
2021-10-12 23:22:53
72
原创 训练营第四周
1.堆排序 堆:(完全二叉树)存储:记当前节点为i(根节点下标为0),父节点parent = ( i - 1) / 2;左子节点c1 = 2i + 1;右子节点c2 = 2i + 2。大根堆:父节点一定大于子节点,根节点最大。小根堆:父节点一定小于子节点,根节点最小。代码:(大根堆)让树的最基本单元符合父节点的值最大(heapify):void heapify(int tree[], int n, int i) //最基本的单元做heapify的操作 { ...
2021-08-22 16:54:12
105
原创 训练营第三周
1.两数之和给定一个整数数组nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为nums[0] + nums[1] == 9 ,返回 [0, 1] 。来源:力扣(LeetCode)链接:https://leetcod...
2021-08-15 15:48:10
70
原创 训练营第二周
Trie树可高效存储,查找字符串集合,还可存储二进制题目:最大异或对在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数N。第二行输入N个整数A1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤10^5,0≤Ai<2^3131输入样例31 2 3输出样例3题解:异或性质+前缀+字典树暴力O(n^2):fo...
2021-08-12 00:45:21
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人