Loading

上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 75 下一页
摘要: 思路 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val( 阅读全文
posted @ 2020-11-10 14:36 拾月凄辰 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 思路 方法一:顺序查找 顺序查找第一个nums[i]不等于下标 i 的数,这时的下标 i 就是缺少的数。 复杂度分析 时间复杂度:O(n) 空间复杂度:O(1) 方法二:二分法 复杂度分析 时间复杂度:O(logn) 空间复杂度:O(1) 1 class Solution { 2 public: 3 阅读全文
posted @ 2020-11-10 14:04 拾月凄辰 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 思路 排序数组中的搜索问题,首先想到 二分法 解决。 方法一:二分法之一 (类似暴力) (1) 用二分法找到其中一个target所在的位置 (2) 之后在此位置前后顺序查找依次计数target的出现次数。(有点暴力,在方法二对此有改进) 复杂度分析 时间复杂度:最坏情况下O(n) 空间复杂度:O(1 阅读全文
posted @ 2020-11-10 10:16 拾月凄辰 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 思路 方法一:暴力法 方法二:哈希表 方法三:双指针之一 (1) 遍历链表A, B,计算出他们分别的长度lenA, lenB。 (2) 链表长的指针向后移动到俩个链表长度差的位置。 (3) 之后一一进行比较。 复杂度分析 时间复杂度:O(lenA + lenB) 空间复杂度:O(1) 1 /** 2 阅读全文
posted @ 2020-11-09 20:22 拾月凄辰 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 关于单链表中的环,一般涉及到以下问题: 1.给一个单链表,判断其中是否有环的存在; 使用快慢指针,每次快指针比慢指针多走一步,即慢指针每次走一步,快指针每次走两步,直到快指针又追到慢指针,说明存在环,并且快指针一定会在慢指针走完第一圈之前和它相遇。时间复杂度为线性。 2.如果存在环,找出环的入口点; 阅读全文
posted @ 2020-11-09 17:16 拾月凄辰 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 思路 方法:归并排序求逆序对 题解思路来自:力扣官方题解 - 数组中的逆序对 复杂度分析 1 class Solution { 2 public: 3 int reversePairs(vector<int>& nums) { 4 vector<int> tmp(nums.size()); 5 re 阅读全文
posted @ 2020-11-09 17:06 拾月凄辰 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 思路 方法:哈希表 第一次遍历字符串s,用哈希表统计每个字符出现的次数,第二次遍历字符串s,当某字符出现次数为1时,返回之。 复杂度分析 时间复杂度:O(n)。 空间复杂度:O(1)。由于题目指出 s 只包含小写字母,因此最多有 26 个不同字符,最多需占用 O(26) = O(1) 的额外空间。 阅读全文
posted @ 2020-11-09 13:36 拾月凄辰 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 思路 方法一:小顶堆 生成丑数的规律:如果已知丑数ugly,那么ugly * 2,ugly * 3和ugly * 5也都是丑数。既然求第n小的丑数,可以采用最小堆来解决。每次弹出堆中最小的丑数,然后检查它分别乘以2、3和 5后的数是否生成过,如果是第一次生成,那么就放入堆中。第n个弹出的数即为第n小 阅读全文
posted @ 2020-11-09 13:07 拾月凄辰 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 思路 方法一:暴力法 对于字符串s,用f[i]表示以s[i]开头的无重复字符的字符串最大长度, 逐一求出f[0], f[1], ... ,f[s.length()-1] ,最后返回这些值中的最大值即可。 1 class Solution { 2 public: 3 int lengthOfLonge 阅读全文
posted @ 2020-11-08 20:02 拾月凄辰 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 思路 方法:动态规划 比较明显的动态规划问题。设f[i][j]表示从(0,0)走到(i, j)获取的最大价值。 状态转移方程为:f(x, y) = grid(x,y) + max {f(x-1,y), f(x, y-1)} 。 空间优化:这里不使用额外的数组f,而就地更改grid数组,可以将空间复杂 阅读全文
posted @ 2020-11-08 19:02 拾月凄辰 阅读(55) 评论(0) 推荐(0) 编辑
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 75 下一页