V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  memedahui  ›  全部回复第 11 页 / 共 14 页
回复总数  280
1 ... 3  4  5  6  7  8  9  10  11  12 ... 14  
坐在开往 312 国道的客车吃点小吃吧.-->要不组队去上海,我在新区
2019-10-15 16:53:40 +08:00
回复了 Smash 创建的主题 问与答 我爸去世后引发的一系列事情,求助!
赶紧律师呀,还愣着干嘛?..
2019-10-15 14:29:38 +08:00
回复了 baitiao 创建的主题 iPhone 入了 se,有没有哪位老哥改了电池的,求推荐
我刚买了一个 se 还是新的未激活 128G 的,但是用了半天就让他吃灰了,我的眼睛快看瞎了...
2019-10-14 10:33:26 +08:00
回复了 abcd106 创建的主题 分享发现 这个秋天我要变强了
@LiYanHong 配合你的 ID 使用,更适合哦
2019-10-14 08:47:33 +08:00
回复了 thautwarm 创建的主题 Python 解放 Python 的表达力
没有爆照,差评
2019-10-13 13:23:16 +08:00
回复了 upcliucong 创建的主题 问与答 用了六年的笔记本电脑,还有必要保养吗?
@upcliucong ,我总算找到你了,你的头像是-->寻秦记.我猜的没错吧
2019-10-09 16:08:44 +08:00
回复了 jxxz 创建的主题 问与答 非程序员怎么入门 oop
我的理解,无论学什么语言 java 是必学的
2019-10-09 15:55:25 +08:00
回复了 joyhub2140 创建的主题 汽车 以前想不懂为什么车门下裙要装那个包围,现在懂了。。。
还好我没有车
inside 确实是一款不错的游戏
2019-10-09 15:32:10 +08:00
回复了 piaochen0 创建的主题 CSS 如何快速提升前端 CSS 的能力?
css 不同于编程语言,各个功能之间的关联很少,所以只能一个一个学.
2019-10-09 10:10:55 +08:00
回复了 litp 创建的主题 问与答 V2 的夜间模式换了 icon 啦!
大清逊位诏书.jpg
2019-09-28 10:40:52 +08:00
回复了 zhuzhibin 创建的主题 问与答 [!] 讨论: 随机红包算法问题
import java.util.LinkedList;
import java.util.List;

/**
* Function: 模拟微信红包生成,以分为单位
*
* @author crossoverJie
* Date: 03/01/2018 16:52
* @since JDK 1.8
*/
public class RedPacket {

/**
* 生成红包最小值 1 分
*/
private static final int MIN_MONEY = 1;

/**
* 生成红包最大值 200 人民币
*/
private static final int MAX_MONEY = 200 * 100;

/**
* 小于最小值
*/
private static final int LESS = -1;
/**
* 大于最大值
*/
private static final int MORE = -2;

/**
* 正常值
*/
private static final int OK = 1;

/**
* 最大的红包是平均值的 TIMES 倍,防止某一次分配红包较大
*/
private static final double TIMES = 2.1F;

private int recursiveCount = 0;

public List<Integer> splitRedPacket(int money, int count) {
List<Integer> moneys = new LinkedList<>();

//金额检查,如果最大红包 * 个数 < 总金额;则需要调大最小红包 MAX_MONEY
if (MAX_MONEY * count <= money) {
System.err.println("请调大最小红包金额 MAX_MONEY=[" + MAX_MONEY + "]");
return moneys ;
}


//计算出最大红包
int max = (int) ((money / count) * TIMES);
max = max > MAX_MONEY ? MAX_MONEY : max;

for (int i = 0; i < count; i++) {
//随机获取红包
int redPacket = randomRedPacket(money, MIN_MONEY, max, count - i);
moneys.add(redPacket);
//总金额每次减少
money -= redPacket;
}

return moneys;
}

private int randomRedPacket(int totalMoney, int minMoney, int maxMoney, int count) {
//只有一个红包直接返回
if (count == 1) {
return totalMoney;
}

if (minMoney == maxMoney) {
return minMoney;
}

//如果最大金额大于了剩余金额 则用剩余金额 因为这个 money 每分配一次都会减小
maxMoney = maxMoney > totalMoney ? totalMoney : maxMoney;

//在 minMoney 到 maxMoney 生成一个随机红包
int redPacket = (int) (Math.random() * (maxMoney - minMoney) + minMoney);

int lastMoney = totalMoney - redPacket;

int status = checkMoney(lastMoney, count - 1);

//正常金额
if (OK == status) {
return redPacket;
}

//如果生成的金额不合法 则递归重新生成
if (LESS == status) {
recursiveCount++;
System.out.println("recursiveCount==" + recursiveCount);
return randomRedPacket(totalMoney, minMoney, redPacket, count);
}

if (MORE == status) {
recursiveCount++;
System.out.println("recursiveCount===" + recursiveCount);
return randomRedPacket(totalMoney, redPacket, maxMoney, count);
}

return redPacket;
}

/**
* 校验剩余的金额的平均值是否在 最小值和最大值这个范围内
*
* @param lastMoney
* @param count
* @return
*/
private int checkMoney(int lastMoney, int count) {
double avg = lastMoney / count;
if (avg < MIN_MONEY) {
return LESS;
}

if (avg > MAX_MONEY) {
return MORE;
}

return OK;
}


public static void main(String[] args) {
RedPacket redPacket = new RedPacket();
List<Integer> redPackets = redPacket.splitRedPacket(20000, 100);
System.out.println(redPackets);

int sum = 0;
for (Integer red : redPackets) {
sum += red;
}
System.out.println(sum);
}

}






注 引用至:github.com/crossoverJie
2019-09-28 08:52:56 +08:00
回复了 Antidictator 创建的主题 程序员 我有一个朋友,被电信诈骗了 5W
移动:???请谨防电信支付诈骗
2019-09-27 17:43:36 +08:00
回复了 JsonTu 创建的主题 程序员 [ Java 并发] 老哥们,求救啊
volatile 关键字 只能保证线程可见性,就是指多个线程获取的值是一致的,但是不能保证操作的原子性.
可选方案:
1.AtomicInteger(线程安全类)
2.synchronized wait(锁)
3.ReentrantLock(锁)
4.LockSupport
2019-09-27 16:50:41 +08:00
回复了 yuthelloworld 创建的主题 iPhone [购买建议] 手持 iphone6s,是买 8P 还是买 xr 、11?
我今天刚买了一个 6s
2019-09-27 16:11:22 +08:00
回复了 cskeleton 创建的主题 分享发现 终于找到经常网址复制不全的原因了
怎么你的屏幕 fps 这么高,一点不卡,是什么屏幕呀
我都是手动适配,就是和设计经常撕...
1 ... 3  4  5  6  7  8  9  10  11  12 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1090 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 55ms · UTC 23:20 · PVG 07:20 · LAX 16:20 · JFK 19:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.