
算法
凯-子
这个作者很懒,什么都没留下…
展开
-
leetcode 11容纳最多水
给出一个非负整数数组 a1,a2,a3,…… an,每个整数标识一个竖立在坐标轴 x 位置的一堵高度为 ai 的墙,选择两堵墙,和 x 轴构成的容器可以容纳最多的水 Input: [1,8,6,2,5,4,8,3,7] Output: 49 思路如下: 1、首先该题目隐藏掉的最大宽度为首尾元素的下标差 2、从最大宽度开始,逐次减小宽度,依次计算面积,确定出最大面积 func GetMaxArea() { areaItem := [9]int{1, 8, 6, 2, 5, 4, 8, 3, 7} st原创 2021-02-24 11:07:26 · 182 阅读 · 0 评论 -
两数之和
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 暴力解法忽略 Map空间换时间 思路:采用map记录 【目标值-数组中的值】= 数组下标原创 2021-02-22 11:31:41 · 197 阅读 · 0 评论 -
每日一则----算法----二分查找法
php实现二分查找法 二分查找法称折半查找,需要数组是一个有序的数组 假设我们的数组是一个递增的数组,首先我们需要找到数组的中间位置. 要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来和我们的值做对比。 如果中间值大于我们的给定值,说明我们的值在中间位置之前,此时需要再次二分,此时结束位置的值修改为此时的中间位置。 如果中间值小于我们给定的值,那么说明给定值在中间位置之后转载 2018-01-16 12:29:52 · 268 阅读 · 0 评论 -
快速排序--php
php实现快速排序 思路: 选择基本元素,本例去第一个元素 小于基本元素的放左边,大于放右边 递归处理左右两边数据 function quickSort($arr) { $baseNum = $arr[0]; $leftArr = $rightArr = []; for ($i=1; $i $arr); $i++){原创 2018-01-18 11:38:30 · 188 阅读 · 0 评论 -
插入排序--php
思路: 两层循环,外层控制选取待排序元素,内层控制将已排好序的元素与待排序元素作比较,插入正确位置 将第一个元素单作排好序的左数组 从第二个元素开始选择待排序元素 以此与排好序的元素比较 要点:设立哨兵 直接插入排序示例: function insertSort($arr) { for ($i=1;$i$arr);$i++){ $原创 2018-01-20 12:22:34 · 190 阅读 · 0 评论