Loading

上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 75 下一页
摘要: 思路 方法一:暴力法 方法二:哈希表 方法三:双指针之一 (1) 遍历链表A, B,计算出他们分别的长度lenA, lenB。 (2) 链表长的指针向后移动到俩个链表长度差的位置。 (3) 之后一一进行比较。 复杂度分析 时间复杂度:O(lenA + lenB) 空间复杂度:O(1) 1 /** 2 阅读全文
posted @ 2020-11-09 20:22 拾月凄辰 阅读(102) 评论(0) 推荐(0)
摘要: 关于单链表中的环,一般涉及到以下问题: 1.给一个单链表,判断其中是否有环的存在; 使用快慢指针,每次快指针比慢指针多走一步,即慢指针每次走一步,快指针每次走两步,直到快指针又追到慢指针,说明存在环,并且快指针一定会在慢指针走完第一圈之前和它相遇。时间复杂度为线性。 2.如果存在环,找出环的入口点; 阅读全文
posted @ 2020-11-09 17:16 拾月凄辰 阅读(242) 评论(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 拾月凄辰 阅读(81) 评论(0) 推荐(0)
摘要: 思路 方法:哈希表 第一次遍历字符串s,用哈希表统计每个字符出现的次数,第二次遍历字符串s,当某字符出现次数为1时,返回之。 复杂度分析 时间复杂度:O(n)。 空间复杂度:O(1)。由于题目指出 s 只包含小写字母,因此最多有 26 个不同字符,最多需占用 O(26) = O(1) 的额外空间。 阅读全文
posted @ 2020-11-09 13:36 拾月凄辰 阅读(76) 评论(0) 推荐(0)
摘要: 思路 方法一:小顶堆 生成丑数的规律:如果已知丑数ugly,那么ugly * 2,ugly * 3和ugly * 5也都是丑数。既然求第n小的丑数,可以采用最小堆来解决。每次弹出堆中最小的丑数,然后检查它分别乘以2、3和 5后的数是否生成过,如果是第一次生成,那么就放入堆中。第n个弹出的数即为第n小 阅读全文
posted @ 2020-11-09 13:07 拾月凄辰 阅读(75) 评论(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 拾月凄辰 阅读(130) 评论(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 拾月凄辰 阅读(61) 评论(0) 推荐(0)
摘要: 思路 方法一:暴力法 使用深度优先搜索枚举出全部情况,试探每一种可能性。 1 class Solution { 2 public: 3 int translateNum(int num) { 4 string s = to_string(num); 5 int res = 0; 6 dfs(s, r 阅读全文
posted @ 2020-11-08 18:45 拾月凄辰 阅读(99) 评论(0) 推荐(0)
摘要: 本文转载自:https://blog.csdn.net/u011947630/article/details/104691611 选择排序、冒泡排序等算法的时间复杂度都比较好理解,但不是很清楚快速排序的时间复杂度为什么是O(nlogn)。从《算法图解》中看到的思路,很赞,解决了一直以来的疑惑。 引用 阅读全文
posted @ 2020-11-08 14:34 拾月凄辰 阅读(2432) 评论(0) 推荐(0)
摘要: 思路 本题解来自:面试题45. 把数组排成最小的数(自定义排序,清晰图解) 方法:自定义排序 1 class Solution { 2 public: 3 string minNumber(vector<int>& nums) { 4 vector<string> vs; 5 for(int i = 阅读全文
posted @ 2020-11-08 12:43 拾月凄辰 阅读(62) 评论(0) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 75 下一页