算法学习笔记
文章平均质量分 56
睹物思理
繁星纵变,智慧永恒。
展开
-
【LeetCode】121.best-time-to-buy-and-sell-stock
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock),原创 2017-12-23 19:09:57 · 239 阅读 · 0 评论 -
【LeetCode】206. Reverse Linked List
class Solution(object): def reverseList(self, head): """ :type head: ListNode :rtype: ListNode """ cur, pre = head, None while cur: ...原创 2019-03-21 19:41:19 · 191 阅读 · 0 评论 -
【LeetCode】3. Longest Substring Without Repeating Characters
思路:要求最长子串没有重复字符,则,构造一个longest列表:记录当前更新的“最长”子串,每遇到一个重复出现的字符,更新longest。更新策略:取longest重复字符后面所有字符+该字符.max_length : 有史以来,子串的最长长度。结果为二者中的较大值。...原创 2019-02-15 22:39:29 · 165 阅读 · 0 评论 -
【LeetCode】581. Shortest Unsorted Continuous Subarray
题目:解法一:思路清奇:将原nums与sorted(nums)进行比较,只要不同,则说明此位置有变动。最短变动字串,即为min(变动位置)到max(变动位置)。 但是耗时太长了吧,不知上面的写法具体的时间复杂度是怎么算的,晚点研究下。改了下结构,还是没有特别大的提升,估计就在>=30—50%的水平,取决于测试样例了。 解法二:思路差不多,也是比较原...原创 2019-01-21 14:07:06 · 125 阅读 · 0 评论 -
【LeetCode】414. Third Maximum Number
1、 小白法:利用了python的sort、set黑科技:注意事项:可能出现[2,2,1,3]这种重复数字情况,所以采取一次set去重 2、有没有其他更朴素更快的方法?...原创 2019-01-15 11:10:01 · 146 阅读 · 0 评论 -
【LeetCode】88.Merge Sorted Array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:The number of elements initialized in nums1 and nums2 are m and n respectively.You may assume that nums...原创 2018-05-11 20:20:53 · 139 阅读 · 0 评论 -
【LeetCode】69.Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x.x is guaranteed to be a non-negative integer.【题目分析】题目要求实现求平方根(舍小数取整)函数如果直接从1开始遍历到x寻找,会超时。问题的症结便集中在怎样最大限度缩小遍历次数【思路分析】使用二分查找的思想,缩小查找范围[l...原创 2018-03-28 21:13:14 · 182 阅读 · 0 评论 -
【LeetCode】66.Plus One
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.You may assume the integer do not contain any leading zero, except the number 0 itself.The digits are s...原创 2018-03-28 21:04:37 · 144 阅读 · 0 评论 -
【LeetCode】21.Merge Two Sorted Lists
21. Merge Two Sorted ListsMerge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Example:Input: 1->2->4, 1-&...原创 2018-03-23 16:48:34 · 186 阅读 · 0 评论 -
【LeetCode】20.Valid_Parentheses
20. Valid ParenthesesGiven a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()[]{...原创 2018-03-23 13:32:56 · 223 阅读 · 0 评论 -
【算法学习笔记】O,Omega,Theta符号的使用
首先,O,Omega,Theta这三个符号并不一定和算法分析有关,这三个符号只是用来刻画函数的增长速度的(比如,微积分里那些什么什么余项也用到了小o记号)。假设有函数f(n)=3n^2+100n+1000,那么我们就可以说f(n)=O(n^2)=O(n^3),f(n)=Omega(n^2)=Omega(n), f(n)=Theta(n^2)。这里可以不涉及任何算法的什么最好最坏情况。原创 2017-10-23 19:39:28 · 9765 阅读 · 0 评论 -
【LeetCode】746.Min_Cost_Climbing_Stairs
On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed).Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the top原创 2017-12-18 20:00:18 · 1425 阅读 · 0 评论