
春招
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode 142. Linked List Cycle II
Leetcode 142. Linked List Cycle II地址:Leetcode 142. linked list Cycle II问题描述:检测链表是否存在环,是的话返回环入口,否则返回None.这道题有两个思路,一个是经典的快慢指针的思路,另外一个是利用hashMap来记住已经访问过的Node。思路一:检测到环的时候,令慢指针指向head,然后fast 和 slow指针皆...原创 2019-01-06 15:30:25 · 163 阅读 · 0 评论 -
Leetcode 204. Count Primes
判断小于n的数中有多少个素数?埃拉托斯特尼筛法题目链接:Leetcode 204. Count Primes代码如下:class Solution: def countPrimes(self, n): """ :type n: int :rtype: int """ ans = 0 ...原创 2019-01-22 14:24:30 · 161 阅读 · 0 评论 -
Leetcode 155. Min Stack
问题描述:实现一个栈的功能,并能返回最小值。题目链接:155. Min Stack偷懒的做法了,不过要想记录最小值,在pop之后就不得不重新整理最小值,每次push的时候还要比较,不值当。在讨论区看到了一种方法就是利用加减来实现记录最小值,还有的开辟另外一个空间存储当前数下的最小值。推荐答案迭代式记忆最小值:迭代式记忆最小值,加减操作。代码实现如下:class MinStack:...原创 2019-01-08 23:08:39 · 109 阅读 · 0 评论 -
Leetcode 154. Find Minimum in Rotated Sorted Array II
问题描述:在153二分法的基础上,此题允许有重复元素出现。题目链接:154. Find Minimum in Rotated Sorted Array II这个题目需要克服的苦难就是有重复元素存在了,cheating的做法就是直接min()或者利用集合去重后二分,但是这其中的算法复杂度也是在线性时间了。肯定能AC~看到讨论区里面有一个思路就是当比较的时候,元素相等只需要让中位数向后退...原创 2019-01-08 23:07:43 · 177 阅读 · 0 评论 -
Leetcode 153. Find Minimum in Rotated Sorted Array
题目描述:给定一个在任意位置翻转一次的数组,找出其最小值。题目链接:153. Find Minimum in Rotated Sorted Array这个题目很有意思,第一次看的时候就是以为线性时间就是最好的了,谁曾想翻转一次的数组也是可以用二分法,二分查找来查找最小的值,但是要注意mid的计算方式。代码实现:class Solution(object): def find...原创 2019-01-08 23:07:02 · 113 阅读 · 0 评论 -
Leetcode 147. Insertion Sort List
问题描述:对链表进行插入排序,其效果如图。思路:跟在普通数组中的思路一样,但是唯一不同的就是数组移动元素的时间是线性的,但是链表断链、接链操作时间是常数时间,仍然需要扫描的线性时间。默认前面的是已经排好序的链表,只需要从头开始扫描,找到第一个比起大的元素,在其前方插入即可。核心:需要时刻记录最新的头节点,也可以指定一个指针,让其永远指向最新的头节点。代码实现如下:class Solu...原创 2019-01-07 14:23:18 · 125 阅读 · 0 评论 -
Leetcode 94. Binary Tree Inorder Traversal
Leetcode 94. Binary Tree Inorder Traversal问题描述:给出二叉树,写出其中序遍历结果,也就是左根右的顺序访问。题目链接:Leetcode 94. Binary Tree Inorder TraversaL提供一下python版本的方法:递归的版本class Solution: def postorderTraversal(self, r...原创 2019-01-06 19:59:46 · 144 阅读 · 0 评论 -
Leetcode 145. Binary Tree Postorder Traversal
Leetcode 145. Binary Tree Postorder Traversal问题描述二叉树的遍历后根序遍历,也就是左右根的顺序访问。分别提供以下方法以及python代码:递归的方式class Solution: def postorderTraversal(self, root): """ :type root: TreeNode...原创 2019-01-06 19:52:19 · 269 阅读 · 0 评论 -
Leetcode 143. Reorder List
Leetcode 143. Reorder List问题描述:给定一个链表,要求把最后一位插入到第二位、倒数第二位插入到第三位…链表问题很直接的思路就是断链、连链、暂存节点、暂存下个节点、快慢指针等操作。继承前面142的思路,这里用快慢指针找到链表的中位数(index)位置,中位数后面的数字都是需要前插的,然后先进行链表的翻转,再进行合并得到最后的结果。代码如下:class So...原创 2019-01-06 18:55:56 · 129 阅读 · 0 评论 -
科大笔试讯飞题目(春招算法工程师)
科大讯飞题目(春招算法工程师)1、就是排序后然后找最低的改成100,直到平均分大于等于X分结束,计算操作次数。2、合并右边小的数 最后是第一个数字 加上严格递增的数组,记录操作数。AC代码如下,第一题python怎么写都不对,改成java就AC了。package Leetcode;import java.io.FileNotFoundException;import java.u...原创 2019-02-23 15:30:04 · 1262 阅读 · 0 评论