Redian新闻
>
大家都是用什么牌子的行李箱的
avatar
大家都是用什么牌子的行李箱的# PennySaver - 省钱一族
g*E
1
有一个只能产生0和1的随机函数,写一个能产生0到n-1的随机函数
avatar
j*e
2
要回国了,想买2个行李箱,想要质量好一点的,我就只知道samsonite,去到店里对其
他牌子都一无所知,也不知道挑哪个。请问大家有什么推荐吗?
谢谢~~
avatar
F*F
3
先顶后看
avatar
d*8
4
国内买的皇冠

【在 j*****e 的大作中提到】
: 要回国了,想买2个行李箱,想要质量好一点的,我就只知道samsonite,去到店里对其
: 他牌子都一无所知,也不知道挑哪个。请问大家有什么推荐吗?
: 谢谢~~

avatar
j*y
5
bless
需要每个数的概率相等吗?

【在 g********E 的大作中提到】
: 有一个只能产生0和1的随机函数,写一个能产生0到n-1的随机函数
avatar
d*n
6
去TJMAXX
avatar
f*s
7
练一个,欢迎找错。
int rand(int n)
{
int re=0;
while(1){
int t=n;
re=0;
while(t){
re=(re<<1)+rand01();
t>>=1;
}
if(treturn t;
}
}
avatar
f*0
8
新秀丽的就不错啊,价格也算适中吧

【在 j*****e 的大作中提到】
: 要回国了,想买2个行李箱,想要质量好一点的,我就只知道samsonite,去到店里对其
: 他牌子都一无所知,也不知道挑哪个。请问大家有什么推荐吗?
: 谢谢~~

avatar
f*s
9
显然需要啊。不需要的话我直接return 一个0就完了。

【在 j*****y 的大作中提到】
: bless
: 需要每个数的概率相等吗?

avatar
l*u
10
Eddie bauer家的质量很不错, TARGET 也有卖。
http://www.eddiebauer.com/EB/Bags--Gear/index.cat

【在 j*****e 的大作中提到】
: 要回国了,想买2个行李箱,想要质量好一点的,我就只知道samsonite,去到店里对其
: 他牌子都一无所知,也不知道挑哪个。请问大家有什么推荐吗?
: 谢谢~~

avatar
g*E
11
谢谢MM
是的,老题了,估计我就是传说中的“开胃菜吃成了主菜”,sigh

【在 j*****y 的大作中提到】
: bless
: 需要每个数的概率相等吗?

avatar
s*2
12
这边随便买的杂牌好像都不错
avatar
g*E
13
很简洁明了啊,赞
求问怎么才能练到这个水平?

【在 f****s 的大作中提到】
: 练一个,欢迎找错。
: int rand(int n)
: {
: int re=0;
: while(1){
: int t=n;
: re=0;
: while(t){
: re=(re<<1)+rand01();
: t>>=1;

avatar
m*u
14
我想买个特别轻的,大家有什么推荐吗?
avatar
f*s
15
mm羞煞我也。刚开始练leetcode,才练了两遍,离板上的大牛差的远了。

【在 g********E 的大作中提到】
: 很简洁明了啊,赞
: 求问怎么才能练到这个水平?

avatar
h*e
16
经常出差,所以随手的,买了贼好的Tumi,好用,省心
平时回国,说实话,觉得大大的麻布袋子挺好用的,还不占重量 :)
外加一个158的箱子,其实箱子的life time也就用3-4次吧,不用买太好的

【在 j*****e 的大作中提到】
: 要回国了,想买2个行李箱,想要质量好一点的,我就只知道samsonite,去到店里对其
: 他牌子都一无所知,也不知道挑哪个。请问大家有什么推荐吗?
: 谢谢~~

avatar
A*u
17
其实不好写

【在 g********E 的大作中提到】
: 有一个只能产生0和1的随机函数,写一个能产生0到n-1的随机函数
avatar
l*o
18
麻布袋子带出去多丢人啊
avatar
g*E
19
真的吗,谢谢安慰。。
fanscs写的那个很好,其实思路挺简单的,结果让我写代码,我先紧张了估计有10分钟
,才终于get to the right track..

【在 A**u 的大作中提到】
: 其实不好写
avatar
d*e
20
int rand(int n)
{
while (true) {
int t = n, r = 0;
while (t) {
r = (r << 1) + rand01();
t >>= 1;
}
if (r < n) return r;
}
}

【在 f****s 的大作中提到】
: 练一个,欢迎找错。
: int rand(int n)
: {
: int re=0;
: while(1){
: int t=n;
: re=0;
: while(t){
: re=(re<<1)+rand01();
: t>>=1;

avatar
i*1
21
这样行不行?
int rand(int n)
{
int ret = 0;
while (1)
{
for (int i = 0; i < n; i++)
{
ret += rand01();
}
if (ret < n) return ret;
}
}

【在 g********E 的大作中提到】
: 有一个只能产生0和1的随机函数,写一个能产生0到n-1的随机函数
avatar
g*E
22
不行吧,
n=2,
1/4概率得到0,1/2概率得到1

【在 i****1 的大作中提到】
: 这样行不行?
: int rand(int n)
: {
: int ret = 0;
: while (1)
: {
: for (int i = 0; i < n; i++)
: {
: ret += rand01();
: }

avatar
r*h
23
这个显然不行
sum of binomial distribution,显然不会是平均分布
(反过来如果N够大会趋向于高斯分布)
这题的思路其实就是,生成一个log n位的数,其每一位做一次随机数(0, 1)就好了。
如果结果大于n那么reject

【在 i****1 的大作中提到】
: 这样行不行?
: int rand(int n)
: {
: int ret = 0;
: while (1)
: {
: for (int i = 0; i < n; i++)
: {
: ret += rand01();
: }

avatar
j*y
24
nice.

【在 r**h 的大作中提到】
: 这个显然不行
: sum of binomial distribution,显然不会是平均分布
: (反过来如果N够大会趋向于高斯分布)
: 这题的思路其实就是,生成一个log n位的数,其每一位做一次随机数(0, 1)就好了。
: 如果结果大于n那么reject

avatar
n*w
25
两个bug
t的初始值应该是n-1
返回的应该是re
其实最优解是从高位往低位generate,如果中间结果就已经大于等于n的话,直接
reject,从头开始。

【在 f****s 的大作中提到】
: 练一个,欢迎找错。
: int rand(int n)
: {
: int re=0;
: while(1){
: int t=n;
: re=0;
: while(t){
: re=(re<<1)+rand01();
: t>>=1;

avatar
b*7
26
还有一个bug,没有判断不合法输入,n<=0时会死循环

【在 n*******w 的大作中提到】
: 两个bug
: t的初始值应该是n-1
: 返回的应该是re
: 其实最优解是从高位往低位generate,如果中间结果就已经大于等于n的话,直接
: reject,从头开始。

avatar
z*3
27
循环n次
每一次判断0还是1
然后把n次循环结果加起来
这是0到n
1到n-1其实就是
1加上0到n-2次
所以最后结论应该是
循环n-2次,每一次判断0还是1
然后加起来,最后结果再加1
int r=1;
for(int i=0;ir = r + rand01();
return r;
avatar
u*g
28
你这是Binomial分布。。

【在 z*******3 的大作中提到】
: 循环n次
: 每一次判断0还是1
: 然后把n次循环结果加起来
: 这是0到n
: 1到n-1其实就是
: 1加上0到n-2次
: 所以最后结论应该是
: 循环n-2次,每一次判断0还是1
: 然后加起来,最后结果再加1
: int r=1;

avatar
J*a
29
这是典型错误啊 得到n-1的概率超小的

【在 z*******3 的大作中提到】
: 循环n次
: 每一次判断0还是1
: 然后把n次循环结果加起来
: 这是0到n
: 1到n-1其实就是
: 1加上0到n-2次
: 所以最后结论应该是
: 循环n-2次,每一次判断0还是1
: 然后加起来,最后结果再加1
: int r=1;

avatar
b*l
30
这个不正是此类问题的考点吗。

【在 j*****y 的大作中提到】
: bless
: 需要每个数的概率相等吗?

avatar
y*i
31
int rand(int n) {
int ret = 0;
for(int i = 0; i < n; i++)
ret += rand01();
return ret % n;
}
avatar
l*a
32
不对
for example n=3
ret =0..7

【在 y***i 的大作中提到】
: int rand(int n) {
: int ret = 0;
: for(int i = 0; i < n; i++)
: ret += rand01();
: return ret % n;
: }

avatar
a*n
33
不要循环到n吧。
shift n,直到0.

【在 i****1 的大作中提到】
: 这样行不行?
: int rand(int n)
: {
: int ret = 0;
: while (1)
: {
: for (int i = 0; i < n; i++)
: {
: ret += rand01();
: }

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。