算法
文章平均质量分 62
BUG制造者:图图
echo ("这个人很懒,简介都是空的...");
展开
-
智能红包分配算法:实现均衡随机金额分配
实现仿照微信发红包功能的抢红包算法需要考虑以下几个步骤:确定红包金额范围:根据总金额和总人数,确定红包的金额范围,确保每个人能抢到最低为0.01的金额,且金额相对均衡。生成随机金额:在确定的金额范围内,生成每个人抢到的随机金额,确保金额相对均衡。金额分配:根据生成的随机金额,分配给每个人。下面是一个简单的PHP代码示例,实现上述功能:演进:均衡分配(凑合)假设:3个人抢20元的红包。操作:甲抢到6.66,乙抢到6.66,丙兜底抢剩余的的6.68。结论:算法简单,但随机性差点。演进:二倍均原创 2024-02-20 17:28:45 · 749 阅读 · 0 评论 -
精准抽奖:掌握可控概率抽奖算法
用PHP打造可控概率抽奖引擎。原创 2024-02-22 08:00:00 · 250 阅读 · 0 评论 -
数据结构算法-插入排序
插入排序(InsertionSort),一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。原创 2024-02-20 16:13:14 · 566 阅读 · 0 评论 -
一道头条算法题,一种不为人知的解法!
题目输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2:输入:arr = [0,1,2,1], k = 1 输出:[0]限制:0 <= k <= arr.length <= 10000 0 <= arr[i]<= 10000小夕:这道题还有另外一种解法就是计数排..转载 2021-05-06 08:16:43 · 27910 阅读 · 0 评论 -
如何设计一个牛逼的API接口(必须收藏)!!!
在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的业务接口应当如何设计?我们应该考虑哪些问题?主要从以上三个方面来设计一个安全的API接口。一 安全性问题安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。1.1 调用接口的先决条件-token获取token一般.原创 2020-10-30 21:33:14 · 35925 阅读 · 0 评论 -
一道面试真题【寻找旋转排序数组中的最小值】
假设一个排好序的数组在其某一未知点发生了旋转(比如 0 1 2 4 5 6 7 可能变成 4 5 6 7 0 1 2 )。你需要找到其中最小的元素。样例 1:输入:[4, 5, 6, 7, 0, 1, 2]输出:0解释:数组中的最小值为 0复制代码样例 2:输入:[2,1]输出:1解释:数组中的最小值为 1复制代码解题思路最直接的是暴力解法,搜索整个数组找到最小元素,时间复杂度为 O(n)。 我们可以旋转数组的特性,用改进后的二分查找来解决,时间复杂度为 .原创 2020-10-30 21:18:04 · 15472 阅读 · 0 评论 -
分享个好玩的题型【移动石子直到连续】
今天为大家分享一个脑筋急转弯类型的算法题。leetcode这个脑筋急转弯的tag打的我措手不及...01、题目示例分享这道题目的原因,是因为有很多同学,在拿到题目的一瞬间,如果发现题目很长,然后自己就慌了。其实,对于这种题目,如果认真的分析下去,非常简单。第1033题:移动石子直到连续 三枚石子放置在数轴上,位置分别为 a,b,c。每一回合,我们假设这三枚石子当前分别位于位置 x, y, z 且 x < y < z。从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动.原创 2020-10-30 21:15:58 · 15526 阅读 · 0 评论 -
程序员必备的基本算法:递归详解
前言递归是一种非常重要的算法思想,无论你是前端开发,还是后端开发,都需要掌握它。在日常工作中,统计文件夹大小,解析xml文件等等,都需要用到递归算法。它太基础太重要了,这也是为什么面试的时候,面试官经常让我们手写递归算法。本文呢,将跟大家一起学习递归算法~什么是递归? 递归的特点 递归与栈的关系 递归应用场景 递归解题思路 leetcode案例分析 递归可能存在的问题以及解决方案什么是递归?递归,在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。简单来说,递.原创 2020-10-27 09:44:33 · 15149 阅读 · 0 评论