面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?...
以前想过一个类似问题,就是没有每个人最大、最小的得钱数的限制,以前的问题可以很好用随机数解决。
于是这个问题也被以前的思想带坑里了,把突破口完全放在了如何处理每个人的随机数上。
于是在面试时间就没有解决这个问题,直到面试结束自己安静下来,仔细想想,发现思路错了。
我认为正确的思路是:
每个人先得6块钱,这样剩下40块钱,之后每次拿出一块钱,随机分配给一个人,如果某个人的钱数达到了上限,那么这个人下次就没有了再得到钱的资格了。这样直到剩下钱都分配完。
当然在接口的实际处理上可以做些优化,例如剩下的钱每次随机分配的钱可以是随机的(当然这个随机要做一些限制,以免一下就分配超额了),然后如果某个人钱+这次随机分配的钱>每个人的上限,那么他就没有资格得到这个钱了。
随机分配也好实现,先算有几个人有资格得到这笔钱,随即一个数,决定给第几个
符合资格
的人。
自我反思:
开始的思路跑偏了,后来没有转过来。什么时候该继续深入、什么时候该转变思路?该如何抉择,是很重要的事。说到底,还是没有快速想清问题的状态,如果想清了也就知道开始的思路有问题,就知道该换换突破口了。
在与面试交谈中,明显有些紧张。这更加影响了我的思考。不管外界如何,一个人的大脑永远都该是清醒的。这是一种很重要的能力,努力修行吧。
面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?...相关推荐
- 发一个随机红包 100块钱给10个人 每个人最多12块钱 最少6块钱 怎么分
在微博上看到segmentfault上的一个题目,看了下问题,我自己想的就是先把每个人都分6元,然后在随机分配剩下的40元.看了下原题的答案,已经有这样的思路.哈哈.写下我的代码. 有两种做法:一种是 ...
- 面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?
设sum=100,n=10,则题目可以得到以下结论6n <= sum <= 12n. 设randNum为随机红包的大小,则可以推出6(n-1) <= (sum-randNum) &l ...
- 编写一个函数,模拟微信发红包的红包分配过程。函数有两个参数:一个参数表示红包总金额,默认值为100,另一个参数表示红包数量,默认为10。程序输入:红包总金额和红包数量;程序输出:每个红包的金额。要求:
题目 编写一个函数,模拟微信发红包的红包分配过程.函数有两个参数:一个参数表示红包总金额,默认值为100,另一个参数表示红包数量,默认为10.程序输入:红包总金额和红包数量:程序输出:每个红包的金 ...
- 一个“扛住100亿次请求”的春晚红包系统
文章来源:https://sourl.cn/wRp68e 前 言 偶然看到了<扛住100亿次请求--如何做一个"有把握"的春晚红包系统>一文,看完以后,感慨良多,收益很 ...
- 一个扛住 100 亿次请求的红包系统,写得太好了!!
原文:github.com/xiaojiaqi/10billionhongbaos 前 言 偶然看到了<扛住100亿次请求--如何做一个"有把握"的春晚红包系统>一文, ...
- 用JS实现一个随机点名系统(五)
用JS实现一个随机点名系统 每次上课前10分钟,老师都会叫我们回答问题,奈何每次都是点学号,好像每次我都能中奖,我直接跟老师提议,老师,我用来JS来帮你写个随机点名的系统吧!这样就不会每次都 抽到我了 ...
- python随机红包怎么发_python生成随机红包的实例写法
假设红包金额为money,数量是num,并且红包金额money>=num*0.01 原理如下,从1~money*100的数的集合中,随机抽取num-1个数,然后对这些数进行排序,在排序后的集合前 ...
- 互联网日报 | 小米11取消随机附送充电器;苏宁30周年发庆生红包;2021年全国两会召开时间确定...
今日看点 ✦ 小米11取消随机附送充电器,响应科技环保号召 ✦ 苏宁30周年发庆生红包,Super会员最高100元直接到账 ✦ 特斯拉副总裁回应"质量不合格报道":文章编织离谱,已 ...
- Java黑皮书课后题第3章:3.16(随机点)编写程序,显示矩形中一个随机点的坐标。矩形中心位于(0,0),宽100高200
3.16(随机点)编写程序,显示矩形中一个随机点的坐标.矩形中心位于(0,0),宽100高200 题目 题目描述 破题 代码 题目 题目描述 3.16(随机点)编写程序,显示矩形中一个随即点的坐标.矩 ...
最新文章
- python 迭代器
- python替换文本文件单词_在大型文本文件中替换一组单词
- DBlink的创建与删除
- net core 3.1 跨域 Cors 找不到 “Access-Control-Allow-Origin”
- matlab矩阵处理实验报告,matlab实验报告一二三
- Python-JS (JS介绍~JS的基础数据类型)
- 图像处理、语音处理的应用及前沿技术_自主知识产权的2微米级3D视觉相机应用于高精度和高反光物体的缺陷检测...
- [2018.03.13 T2] 过河(river)
- 敏捷开发宣言 (一)
- CAN笔记(4) 协议基本概念
- STM32开发项目:步进电机驱动库
- 阿里云飞天计划ECS使用体验
- OpenJDK Runtime Environment (IcedTea6 1.13.10) (rhel-1.13.10.0.el6_7-x86_64) OpenJDK 64-Bit Server V
- PostgreSQL t_bits计算方法
- Cesium加载ArcGIS的PBF矢量切片服务
- 情感日记:东部华侨城
- 【DIY】多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐
- asp.net后台为控件添加css样式
- python中文文本分词_SnowNLP:?中文分词?词性标准?提取文本摘要,?提取文本关键词,?转换成拼音?繁体转简体的 处理中文文本的Python3 类库...
- shogun-toolbox的使用方法和问题总结