算法
turbo624
这个作者很懒,什么都没留下…
展开
-
leetcode-58. Length of Last Word最后一单词的长度 python
Length of Last Word题目python split分割遍历 题目 Given a string s consists of upper/lower-case alphabets and empty space characters ’ ', return the length of last word (last word means the last appearing word if we loop from left to right) in the string. If the la原创 2020-06-13 23:19:32 · 158 阅读 · 0 评论 -
剑指offer-旋转数组的最小数字python
旋转数组的最小数字题目暴力解法二分法递归写在后面 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 暴力解法 直接for遍历数组,如果有一个元素大于其后面的一个元素,这就是断点,后面元素就是最小值。 class Solution: def minNumberInRot原创 2020-06-13 22:17:33 · 167 阅读 · 0 评论 -
网易面试题-在环形有序数组中查找给定数
在环形有序数组中查找给定数题目思路python 代码 题目 在环形有序数组中查找给定数。例如:在[6, 7, 8, 1, 2, 3, 4, 5]中找到3,数组长度无限。返回下标。 思路 环形有序数组就是说本来一有序数组,现在将有序数组一份为二,左右两部分交换顺序,例如[6, 7, 8, 1, 2, 3, 4, 5]。刚开始的思路是首先找到断点,for遍历数组,如果后面的元素比前面小,说明存在断点处,比如1比8小。这里的问题是数组长度无限,如果断点位置靠后,就很花费时间,所以时间复杂度不高。 改进的思路,一般原创 2020-06-13 21:17:19 · 778 阅读 · 1 评论 -
01背包问题-动态规划python解
参考原文:https://blog.csdn.net/qq_38410730/article/details/81667885 对应的python代码: # w = [0,2,3,4,5] # v = [0,3,4,5,6] # dp = [[0 for j in range(9)] for i in range(5)] # bagV = 8 # item = [0] *5 n, bagV = m...原创 2019-09-07 10:44:02 · 817 阅读 · 0 评论 -
快排 python实现
快排原理代码特点 原理 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 代码 def quick_sort(nums)...原创 2019-09-07 15:36:41 · 203 阅读 · 0 评论 -
约瑟夫环问题 python
约塞夫环问题原理python代码特点 原理 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.) 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一...转载 2019-09-07 15:56:22 · 484 阅读 · 0 评论