算法
boxboss
这个作者很懒,什么都没留下…
展开
-
【转载】图解堆排序
原文地址:https://www.namidame.tech/heap-sort.html1. 前言所谓的堆是这样一种完全二叉树:他的每一个父结点的值都比其子结点的值大(大根堆)或小(小根堆)。我们知道,完全二叉树是每一层的结点数都达到了最大的树,每一层的结点都是先填满左边的子结点的,可以想像成一棵满二叉树截掉最右边最下边的若干个子结点。我们可以把一个数组的结构根据堆中父结点和子结点的索引关系映射成一个堆结构,然后对数组应用堆的一些操作,最后实现排序的目的。由于堆排序每一次下探树的一层,所以在处理大的数转载 2020-10-28 22:34:27 · 343 阅读 · 0 评论 -
【转载】旋转数组
原文地址:https://www.namidame.tech/rotate-array.html1. 问题描述给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99]转载 2020-10-27 01:13:50 · 158 阅读 · 0 评论 -
【转载】求买卖股票的最大利润
原文地址:https://www.namidame.tech/brokes-max-profit.html1. 问题描述给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出,转载 2020-10-26 00:15:55 · 791 阅读 · 0 评论 -
【转载】删除数组中重复元素
原文地址:https://www.namidame.tech/delete-duplicated-item.html1. 问题描述删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数转载 2020-10-26 00:09:43 · 287 阅读 · 0 评论 -
【转载】不用加号和减号计算两个数的加法
原文地址:https://www.namidame.tech/calculate-plus-without-plus-sign.html1. 问题描述设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-without-plus-lcci2. 问题分析一般这种不转载 2020-10-26 00:05:58 · 566 阅读 · 0 评论 -
【转载】判断一个数是否x的n次幂
原文地址:https://www.namidame.tech/is-power-of-x.html在日常的生产需求中,经常会出现需要判断一个数是否另一个数的n次幂,最常见的便是判断2的n次幂,4的n次幂,乃至x的n次幂的问题,下面我们来介绍一下这些题目的解决方法。对于幂次的判断,我们需要用计算机的思维来解决,计算机常用的计数进制不是10进制,而是2进制,8进制,16进制等等,所以我们先从2进制的角度来思考如何解决这类问题。1. 判断一个数是否2的n次幂对于2进制数,数的每一位上的值是2的n次方,所以转载 2020-10-25 23:59:51 · 1566 阅读 · 0 评论 -
【转载】德州扑克牌型算法-Lua代码实现
原文地址:https://www.namidame.tech/Lua-Texas.html本文提供了一种用Lua实现的德州扑克牌型、得分及成牌选择算法,是在公司空余时间老板要求练手写的算法。。。包括了代码和测试用例,代码可以应用在德州扑克手游的牌型计算模块中。这里有几个文件,直接上代码安装Lua运行环境后命令行运行main.lua文件即可其中CardDealer文件是自动发牌的,由于测试用例需要自己编写,这个类也没什么用了main.lua-- Author: luyuejun-- Date:转载 2020-10-24 00:48:14 · 1325 阅读 · 0 评论