随笔分类 - leetcode
摘要:题目链接:https://leetcode.com/problems/swap-nodes-in-pairs//*题意:将链表相邻的两两结点交换*/class Solution {public: ListNode* swapPairs(ListNode* head) { if(h...
阅读全文
摘要:题目链接:https://leetcode.com/problems/reorder-list//*题意:给出链表L: L0→L1→…→Ln-1→Ln 转换成 L0→Ln→L1→Ln-1→L2→Ln-2→… *//** *思路:将链表分成两段,分别为A和B,将B反转后插入A中 */cl...
阅读全文
摘要:题目链接:click~/*题意:n阶的台阶,每次只能上一步或两步,共有多少种方法 *//** *思路:简单递推,d[i] = d[i-1] + d[i-2] * 两种方法,一种空间复杂度O(1),另一种O(n) *///O(1)class Solution {public: int ...
阅读全文
摘要:题目链接:click~/*题意:一个数组,第i元素表示第i天股票的价格,允许最多买卖两次,求最大利润 *//** *思路:用currProfit数组记录截止当日的最大利润,从头到尾扫描一遍数组即可获得 * currProfit = max(currPorfit[i], prices[i]-...
阅读全文
摘要:题目链接:click~/*题意:一个数组,第i元素表示第i天股票的价格,只允许买卖一次,求最大利润 *//** *思路:两个指针,一个扫描整个数组,另一个记录已扫描元素的最小值 * 扫描过程中,一边更新最小值,一边更新最大利润 * 最大利润:max(A[j]-A[i]),j>i ...
阅读全文
摘要:题目链接:click~/*题意:n*m的矩阵,从左上角走到右下角共有多少条路径(只能向右或向下) * 矩阵中1表示障碍物 *//** *思路:DP,d[i][j]表示当前到达d[i][j]路径总数 * 状态转移方程:d[i][j] = d[i-1][j] + d[i][j-1]...
阅读全文
摘要:题目连接:click~/*题意:m*n的矩阵,从左上角走到右下角共有多少条路径(只能向右或向下) *//** *思路:DP,d[i][j]表示当前到达d[i][j]路径总数 * 状态转移方程:d[i][j] = d[i-1][j] + d[i][j-1] * */class Solutio...
阅读全文
摘要:题目连接:click~/*题意:将链表中第m到n个结点翻转 *//** *思路:为更好处理表头和第m个结点,引入root结点,同时记录 * 第m-1个结点。从第m个结点开始遍历至第n个结点,将已经 * 遍历过的结点插入在第m-1个结点后,并保证第m个结点的next * ...
阅读全文
摘要:题目连接:https://leetcode.com/problems/remove-nth-node-from-end-of-list//** * Definition for singly-linked list. * struct ListNode { * int val; * ...
阅读全文
摘要:题目链接:https://leetcode.com/problems/rotate-list//* 题意:给出一个链表,将链表向右旋转k个位置 *//** *思路:右旋k个位置,相当与将链表从第len-k个位置截断,然后 * 将两截链表交换位置,重新链接成一个链表 * */stru...
阅读全文
摘要:题目链接:https://leetcode.com/problems/rotate-array/ 1 /*题意:将数组向右旋转k个位置*/ 2 3 /* 4 *三次翻转数组,第一次翻转整个数组,第二次翻转前k个数,第三次翻转剩下的数 5 *第一次翻转:7,6,5,4,3,2,1 6 *第二次...
阅读全文
摘要:题目链接:https://leetcode.com/problems/two-sum/ 1 /*题意:在数组中找出两个数的和等于target,输出下标*/ 2 3 /*思路: 4 *将键值存入map中,接着扫描数组,检查target与当前数的差值是否在map中 5 *如果存在,返回结果 6 ...
阅读全文
浙公网安备 33010602011771号