- 博客(6)
- 收藏
- 关注
原创 双指针的一些应用场景
1.单词循环找到数组倒数第n个数字如LeetCode19题.删除链表的倒数第N个结点当有要求只遍历数组一次的时候,快慢指针就是个非常不错的应用场景。先让快指针走过N个点,此时慢指针从头开始走。这样一来,当快指针走到头的时候,慢指针正好走到倒数第N-1个结点。 public ListNode removeNthFromEnd(ListNode head, int n) { ListNode slow=head,fast=head; if(head==null) r
2022-04-05 18:16:50
805
原创 并查集模板
classUF{private:intcount;vector<int>parent;vector<int>size;public:UF(intn){count=n;for(inti=0;i<n;i++){parent.push_back(i);size.push_back(1);...
2021-04-24 21:23:23
135
原创 684.冗余连接
问题描述在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v],满足u < v,表示连接顶点u和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边[u, v] 应满足相同的格式...
2021-04-23 17:40:10
171
原创 207. 课程表
有n个城市,其中一些彼此相连,另一些没有相连。如果城市a与城市b直接相连,且城市b与城市c直接相连,那么城市a与城市c间接相连。省份是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个n x n的矩阵isConnected,其中isConnected[i][j] = 1表示第i个城市和第j个城市直接相连,而isConnected[i][j] = 0表示二者不直接相连。返回矩阵中省份的数量。输入:isConnecte...
2021-04-23 15:18:37
124
原创 剑指 Offer 10- II.青蛙调台阶问题
问题描述一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。解题思路该题最简单的方法就是动态规划。比如我问你1+1+1+1+1+1等于多少?你数了一下回答等于6。我再问你右边再加上一个一呢?这时你便不会数了,直接告诉我6+1等于7。因为在你脑海里已经记录下了那个6。同理,你想求得跳上n级台阶的总跳法,那么n阶可以由n-1阶.
2021-04-22 21:31:15
89
原创 动态规划的方法求解0/1背包问题
动态规划的方法求解0/1背包问题假设你要出一趟远门。你只有一个容量为C的背包,但是这里有n个可能要带走的物品。每个物品的体积为,价值为。简单来说,0/1背包问题就是在满足背包最大容量的前提下使得包内物品的价值最大。即在满足的条件下使得最大。for(int i=1;i<=4;i++){ for(int j=1;j<=8;j++) if(j<w[i]) dp[i][j]=dp[i-1][j]; else dp[i][j]=max(dp[i
2021-04-21 22:28:25
353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅