算法
寻梦梦飞扬
这个作者很懒,什么都没留下…
展开
-
算法--Two sum之hash表解决方法
这么著名的题目都没见过,算法小白要努力了! Two sum即给出一组数,找出其中两个之和为某一特定值的索引。 python:def findTwoSum(inputList, sumOfTwo): aimDic = dict() result = [-1, -1] for num in inputList: if num in aimDic.ke...原创 2018-03-02 23:40:14 · 913 阅读 · 0 评论 -
算法--Two sum之排序数字二分查找实现
pythondef findTwoSumSorted(inputList, sumOfTwo, start, end): """ find two number in the inputList, which the sum is sumOfTwo, the inputList is sorted inputList: a list of number...原创 2018-03-04 21:39:30 · 752 阅读 · 0 评论 -
leetcode -- 旋转数组 python实现
题目:将包含 n 个元素的数组向右旋转 k 步。 例如,如果 n = 7 , k = 3,给定数组 [1,2,3,4,5,6,7] ,向右旋转后的结果为 [5,6,7,1,2,3,4]。要求:要求空间复杂度为 O(1) (这里的意思就是别想着新建个列表)解决方法一:简单暴力点,将后面k个删掉插入到前面。class Solution(object):...原创 2018-04-13 15:10:07 · 1502 阅读 · 0 评论 -
leetcode -- single number 只出现一次的数字
136给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。备注: 你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?解析:不能用额外空间,所以哈希表也就是字典是不能用了,那就只能位操作了,用异或运算,a^a=0,所以出现两次的数都就消除了,最后剩下那个只出现一次的数class Solution(object): def si...原创 2018-04-19 11:57:55 · 228 阅读 · 0 评论 -
leetcode -- 买卖股票的最佳时机
122给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候...原创 2018-04-20 15:56:05 · 504 阅读 · 0 评论