思路:和108题类似,链表需要通过双指针寻找中间节点。 class Solution { public TreeNode sortedListToBST(ListNode head) { if (head == null) return null; if (head.next == null) re ...
分类:
其他好文 时间:
2020-12-30 11:35:50
阅读次数:
0
题目: 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 代码: 1 class Solution { 2 public int[][] ...
分类:
其他好文 时间:
2020-12-30 10:52:55
阅读次数:
0
58.SAM后缀自动机 东西挺多的 SAM中每一个节点都是一个endpos的等价类,节点与节点之间有字符的转移。构成的SAM是一个DAG,每一个在原串中本质不同的子串都唯一对应一条在SAM从初始节点出发的路径 可以发现对于一个节点的那些串,如果以长度升序排序后,前一个串是后一个串的后缀并且长度相差1 ...
分类:
其他好文 时间:
2020-12-28 11:12:57
阅读次数:
0
动规问题,如果直接使用滚动数组不开空间会效率更高,所有效率可以提升百分之40左右; 状态转移方程: dp[i]=min(dp[i-1],dp[i-2])+cost[i]; class Solution { public: int minCostClimbingStairs(vector<int>& ...
分类:
其他好文 时间:
2020-12-25 12:32:04
阅读次数:
0
class Solution { // 思路:【动态规划】 // 状态转移方程是 p[i,j] = p[i+1,j-1] && p[i] = p[j] // p[i,j] 表示第i个 和 第j 个是相同的 // 整体分两层循环【第一层按回文长度从零到n , 第二层就是字符从第一个开始往后循环】 pu ...
分类:
其他好文 时间:
2020-12-25 12:13:31
阅读次数:
0
原题链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ class Solution { public int lengthOfLongestSubstring(String s) { ...
分类:
其他好文 时间:
2020-12-25 11:54:02
阅读次数:
0
深度优先遍历DFS 1、递归实现 递归实现比较简单。也就是前序遍历,我们依次遍历当前节点,左节点,右节点即可,以此不断递归下去,直到叶节点(终止条件)。 public class Solution { private static class Node { public int value; pub ...
分类:
其他好文 时间:
2020-12-25 11:53:08
阅读次数:
0
1 两数之和 直接n平方复杂度,双指针减少一层复杂度; 或者可以采用哈希表 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> heap; for(i ...
分类:
编程语言 时间:
2020-12-25 11:48:25
阅读次数:
0
原地交换: 思路很简单先对角线对称交换,再左右对称交换就可以得到旋转90度。 线性代数证明方法:等我复习完orz class Solution { public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); fo ...
分类:
其他好文 时间:
2020-12-24 11:57:41
阅读次数:
0
实现一个迷你的推特,支持下列几种方法 ?postTweet(user_id, tweet_text).? 发布一条推特. ?getTimeline(user_id).? 获得给定用户最新发布的十条推特,按照发布时间从最近的到之前排序 ?getNewsFeed(user_id).? 获得给定用户的朋友 ...
分类:
其他好文 时间:
2020-12-23 12:31:01
阅读次数:
0