算法
凯-子
这个作者很懒,什么都没留下…
展开
-
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 · 170 阅读 · 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 · 191 阅读 · 0 评论 -
每日一则----算法----二分查找法
php实现二分查找法二分查找法称折半查找,需要数组是一个有序的数组假设我们的数组是一个递增的数组,首先我们需要找到数组的中间位置.要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来和我们的值做对比。如果中间值大于我们的给定值,说明我们的值在中间位置之前,此时需要再次二分,此时结束位置的值修改为此时的中间位置。如果中间值小于我们给定的值,那么说明给定值在中间位置之后转载 2018-01-16 12:29:52 · 254 阅读 · 0 评论 -
快速排序--php
php实现快速排序思路:选择基本元素,本例去第一个元素小于基本元素的放左边,大于放右边递归处理左右两边数据 function quickSort($arr) { $baseNum = $arr[0]; $leftArr = $rightArr = []; for ($i=1; $i $arr); $i++){原创 2018-01-18 11:38:30 · 172 阅读 · 0 评论 -
插入排序--php
思路:两层循环,外层控制选取待排序元素,内层控制将已排好序的元素与待排序元素作比较,插入正确位置将第一个元素单作排好序的左数组从第二个元素开始选择待排序元素以此与排好序的元素比较要点:设立哨兵 直接插入排序示例: function insertSort($arr) { for ($i=1;$i$arr);$i++){ $原创 2018-01-20 12:22:34 · 175 阅读 · 0 评论