Skip to content

红黑树什么时候发生自旋?

什么时候链表转化成红黑树?

红黑树和普通的平衡查找树有什么区别?

抢红包算法设计

php
<?php
/**
 * @param $totalMoney float 总金额:元
 * @param $num int 红包数量
 * @return array 红包列表
 */
function createRedPack(float $totalMoney,int $num)
{
    //剩余的 ,单位 分
    $hasMoney = $totalMoney * 100;
    //一分钱
    $min = 1;
    $res = [];
    for ($i = 1;$i <= $num;$i++)
    {

        if ($i != $num)
        {   //剩余的钱-($num-$i)
            $max = $hasMoney - ($num - $i) * $min;
            // 防止每个金额差距过大
            if (intval($hasMoney/($num - $i)) > 0)
            {
                $max = min($max,intval($hasMoney/($num - $i)));
            }


            $money = random_int($min,$max);
        }else
        {
            $money = $hasMoney;
        }
        $hasMoney -= $money;
        $res[] = $money/100;
    }
    //打乱
    shuffle($res);
    return $res;
}
$arr = createRedPack(200,10);
echo '红包结果:'.json_encode($arr).PHP_EOL;
echo '共:'.count($arr).'个'.PHP_EOL;
echo '共:'.array_sum($arr).'元'.PHP_EOL;
"输出:
红包结果:[1.37,6.63,21.67,9.4,14.49,98.55,5.44,2.93,28.64,10.88]
共:10个
共:200元
";

序列化二叉树

判断链表是否有环,找出环的入口

快排是如何实现?实现过程时间复杂度?最坏时间复杂度?

1亿个手机号进行排序

一亿个数据,用数组和链表存储,哪个遍历时更快?

抛一枚硬币 N 次,A 先抛,B后抛,谁先正面,谁先赢,问A,B 谁赢的概率比较大,为什么?

一致性 Hash

10亿个数据找出 Top K

统计两个文件中,出现重复的内容?

一个很大的文件,每一行一个数字,如何对这个文件进行排序?

算法:判断链表是否有回环