leetCode做题笔记二(26, 20,9)

LeetCode26:给定一个有序序列,求不同的元素个数并且返回不同序列,要求原地返回,O(1)空间(26, easy)

15分钟,第一次就AC了略开心,最好记录406ms貌似是前1%!虽然这个时间不靠谱

没啥可优化的了,感觉几乎没有废代码

经验?:真的会有公司考这么简单?

括号匹配。(20, easy)

最好记录430ms,前10%。稍微用了点小聪明,不过不好(使用异常做判断)

经验8:使用Stack比使用数组效率高很多,对这个题而言

经验?:真的会有公司考这么简单?

判断一个数是不是回文数,不能用额外空间(这点好奇怪,不用额外空间连循环都没法跑了)(9, easy)(投机取巧法)

正规做法:少少优化。大概能跑到前50%,最好记录713ms

经验?:真的会有公司考这么简单?

时间: 2024-10-27 05:24:09

leetCode做题笔记二(26, 20,9)的相关文章

leetCode做题笔记二(4, 8)

LeetCode8, 手写atoi,一大堆判断...最好记录408ms,约为5%. 经验4:如何经济的判断溢出   经验5:让不合法的输入第一时间return0;   经验6:对于javascript里那一堆isxxx的函数,对应在Java的Character类下 2. LeetCode4 求两个升序数组的中位数 网上大部分解法都是错误的,和我犯了一样的错误.三个小时啊啊啊啊啊白费了 经验7:求平均数应该除以2.0 错误算法: 分别求出序列A 和B 的中位数,设为a 和b,求序列A 和B 的中位

LeetCode做题笔记之四

这次一口气放9道题~ LeetCode 23题,Hard! 归并K个有序链表.使用堆来做,一开始把K个链表的第一个元素放进数组,然后建堆.之后取出第一个元素(如果这个元素是nil元素,直接退出)放进归并后的链表,再从这个元素所在的链表取第一个元素放到原来元素的位子上,然后重新维护堆性质.如果那个链表已经没有元素,那就插入一个nil元素. 趁机用了用泛型方法,真好使!哨兵nil也不错,感谢算法导论! public class WrappedListNode {     public int val

【leetcode刷题笔记】Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 题解: 思路比较简单,每条直线都可以表示为y=kx+b,所以对于任意三点,如果它们共线,那么它们中任意两点的斜率都相等. 所以就遍历points数组,对其中的每一个元素计算它和位于它后面的数组元素的斜率并保存在一个hashmap中. 这个hashmap的键就是两点构成直线的斜率,值就是和当前元素po

【leetcode刷题笔记】Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example,Given n = 3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 题解:以前做过的Spiral Matrix是给一个矩阵螺旋式的输出,这道题是给一个n,螺旋式的

【leetcode刷题笔记】Sudoku Solver

Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by the character '.'. You may assume that there will be only one unique solution. A sudoku puzzle... ...and its solution numbers marked in red. 题解:递归.在每个空位

【leetcode刷题笔记】Maximal Rectangle

Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area. 题解,很巧妙的一道题,对于一个0-1矩阵,它的每一行及以上都可以看作一个直方图(如下图所示),利用Largest Rectangle in Histogram的方法,可以在O(n)的时间搜索出这一行及以上的直方图中面积最大的矩形,对矩阵的每一行依次做这个操作,就可

【leetcode刷题笔记】Recover Binary Search Tree

Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution? 题解:需要找到二叉搜索树中乱序的两个节点,并把它们交换回来

【leetcode刷题笔记】Wildcard Matching

Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. '*' Matches any sequence of characters (including the empty sequence). The matching should cover the entire input string (not partial). The function p

【leetcode刷题笔记】Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 题解:最开始用了最naive的方法,每次在k个链表头中找出最小的元素,插入到新链表中.结果果断TLE了. 分析一下,如果这样做,每取出一个节点,要遍历k个链表一次,假设k个链表一共有n个节点,那么就需要O(nk)的时间复杂度. 参考网上的代码,找到了用最小堆的方法.维护一个大小为k的最小堆,存放当前k