微信是采用什么样的算法做到的?简单百度了下,目前尚未有官方的说明。
我按照自己的逻辑尝试了下,这个算法需要满足以下几点要求:
1、每个人都要能够领取到红包;
2、每个人领取到的红包金额总和=总金额;
3、每个人领取到的红包金额不等,但也不能差的太离谱,不然就没趣味;
4、算法一定要简单,不然对不起腾讯这个招牌;
正式编码之前,先搭建一个递进的模型来分析规律
设定总金额为10元,有N个...
目标
奖品尽量在活动期间被平均分布(不要在活动一开始就被抽完)
大奖尽量在后面才被抽中
奖品尽量不要有剩余
每个奖品可以设置抽中概率
对于最后一点,因为活动前并不知道参加活动人数,所以设置的概率反而影响了前面几点。如果概率大了可能活动一开始就被抽完,如果太小参与人数不多可能到活动结束之后奖品还余了一半。
其实平均分布才是最关键的。满足了这个条件之后可以根据奖品的数量或...
WOW.js支持多种动画效果,让你的页面滚动效果更加有趣。
WOW.js 依赖 animate.css,所以它支持 animate.css 多达 60 多种的动画效果,能满足你的各种需求。
WOW.js 使用了 querySelectorAll 方法,IE 低版本会报错,支持IE10+。为了达到更好的兼容,最好加一个浏览器及版本判断。
使用方法
1、引入文件
<link rel...
新建一个FormatConver.sh文件,写入下面代码,打开终端,把脚本文件拖进来,然后空格在后面写上参数,即可。
参数说明:
用法:FormatConvert.sh arg0 arg1 arg2
arg0:指定路径。arg1:需要查找并且替换的文件名后缀不要有点。arg2:替换成的后缀
用法示例:将桌面gorpeln文件夹中的txt文件后缀统一修改为bat
终端输入:/...
iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程。
目的
先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(Mac/...
一般开发一个 APP,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用AFNetworking/OKHttp这样的网络库,管理好请求线程和队列,再自动做一些数据解析,就结束了。
但对于一些大型 APP,还会想针对网络的一些问题进行进一步优化,包括:
1、速度:网络请求的速度怎样能进一步提升?
2、弱网:移动端网络环境随时变化,经常出现网络连...
三种方式供你选择
通过KVC来设置
通过runtime动态改变
通过 msg_send() 设置
先定义这样一个类 PrivateVariablesClass:
#import "PrivateVariablesClass.h"
@interface PrivateVariablesClass ()
@property (nonatomic, assign) NSIn...
Sublime Text:一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受。相比于难于上手的Vim,浮肿沉重的Eclipse,VS,即便体积轻巧迅速启动的Editplus、Notepad++,在SublimeText面前大略显失色,无疑这款性感无比的编辑器是Coding和Writing最佳的选择,没有之一。
安...
/***
* 这个公司没有年终奖的,兄弟别指望了,也别来了,我准备辞职了
* 另外这个项目有很多*Bug* 你坚持不了多久的,拜拜!
*/
/***
* You may think you know what the following code does.
* But you dont. Trust me.
* Fiddle with it, and youll spend...
今天突然发现自己好多次的commits都没有被记录在Contributions中,但是点开项目详情里面可以看到自己的commit确实上传成功了,以前一直没有注意,为什么没有绿呢?
然后去了解了下Contributions的规则,发现只会记录以下几种:
计算规则
Issues 和 pull requests
这个操作是针对一个独立的仓库,不能是fork
Commits
如果提交符...