随笔分类 -  算法

摘要:leetcode最大子序和(python) 题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 来源:力 阅读全文
posted @ 2020-10-24 14:07 JonnyJiang-zh 阅读(312) 评论(0) 推荐(0)
摘要:快速排序 本篇内容共分两部分:分而治之,快速排序。 分而治之(divide and conquer,D & C)——种著名得递归式问题解决办法。 快速排序是一种排序算法其速度比选择排序快得多。 1. 分而治之 首先,我们申明一下D&C的工作原理: 找出简单的基线条件(跳出无限循环的条件) 确定如何缩 阅读全文
posted @ 2020-07-09 00:20 JonnyJiang-zh 阅读(161) 评论(0) 推荐(0)
摘要:递归 在讲解关于递归的主要内容前,先让我们看一个gif动图。 这个动图呢很像我们平时生活中的开多个门的场景。门要开就需要关,我们开了多扇门就相应的意味着我们要关掉多少们,而且最先开的门往往最后关,最后开的门往往最先开,回想一下是不是这样子的。 以上就是递归在我们平时生活中的一个案例,接下来就是一个编 阅读全文
posted @ 2020-07-08 00:32 JonnyJiang-zh 阅读(248) 评论(0) 推荐(0)
摘要:选择排序 选择排序,其实就是冒泡排序的一种别称,其工作原理就是:一个有n个元素的列表,经过n-1轮的排序后就是一个有序的列表,每轮选出该轮中最大/小的数填充到新的列表中,因为前n-1个已经排好序,自然而然最后一个已经好了。就好像10个高矮不一的人要排成从矮到低的列,我们就可以,第一次选出最矮的站在新 阅读全文
posted @ 2020-07-07 18:33 JonnyJiang-zh 阅读(120) 评论(0) 推荐(0)
摘要:二分查找 二分查找是一种算法,它的输入是一个有序列表。如果所要查找的元素在其中就返回其位置,否则就返回None。 二分查找在生活中最常见的例子就是猜数游戏,游戏的玩法呢就是支持人给出一个数的范围,心里确定一个数,让其他人来猜。每次当有人猜错时,主持人便会告诉我们猜大了还是猜小了,相应的我们的猜数范围 阅读全文
posted @ 2020-07-07 11:56 JonnyJiang-zh 阅读(148) 评论(0) 推荐(0)