V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 155 页 / 共 173 页
回复总数  3454
1 ... 151  152  153  154  155  156  157  158  159  160 ... 173  
2017-05-30 11:44:33 +08:00
回复了 slucus 创建的主题 问与答 数组取随机数( 2 或 3 个),取到的数据上下左右不相邻?
@slucus ……………………我说了这么一大段,您简略一下就完全失去含义了。

如果我总是返回 (0,0), (1,1) 这两个位置你看可以吗?肯定不可以对吧?

而且这个问题和数组本身没有什么关系,是对位置的随机。

(刚刚搞错了,没必要假设 m、n 的范围,只要是正整数即可)

回到题目,假设你要求的是我所说的那种随机,那么一个可行的方案是:先生成第一个位置,然后生成根据第一个位置生成第二个位置。

例如:用 0 为下标起点。

第一步,生成一个均匀随机位置 (a,b);
第二步算出 k = mn,设置 u=v=x=y= +∞;
第三步:
- 如果 (a,b) 不是首行,k 减少 1,u=(a-1)*m+b ;
- 如果 (a,b) 不是首列,k 减少 1,v=a*m+b-1 ;
- 如果 (a,b) 不是末行,k 减少 1,x=(a+1)*m+b ;
- 如果 (a,b) 不是末列,k 减少 1,y=a*m+b+1。
此时 k 代表剩下可以选的位置数目;
第四步:生成 0 到 k (左含右不含)的一个随机数 t ;
第五步:
- 如果 t >= u,t 增加 1 ;
- 如果 t >= v,t 增加 1 ;
- 如果 t >= x,t 增加 1 ;
- 如果 t >= y,t 增加 1 ;
第六步:设置 (c,d) = (floor(t / m), t mod m);

输出:(a,b,c,d)。

对于 3 或者更多个也有类似的方法。

另一种方法是逐步拒绝。

第一步:生成一个均匀随机的位置(a,b);
第二步:反复生成均匀随机的位置(c,d)直到(c,d)和(a,b)不是上下左右相邻;
输出:(a,b,c,d)。
2017-05-30 11:13:51 +08:00
回复了 slucus 创建的主题 问与答 数组取随机数( 2 或 3 个),取到的数据上下左右不相邻?
@slucus 你现在问的问题和

> 如何从一个非空一维数组里面随机拿一个元素出来

一样。这个问题是没有意义的,有意义的是下面这个问题

> 如何从一个非空一维数组里面 **均匀** 随机拿一个元素出来

我可以尝试猜测一下你的问题的含义:

考虑两个自然数 m、n 满足 mn > 2,考虑

S = { (a,b,c,d)∈[m]×[n]×[m]×[n]: |a-c|>1 或 |b-d|>1 或 a=c,b=d }

问如何生成 S 上的均匀分布。

这个结果和“不断同时取两个位置,如果相邻就丢弃重来”的效果会是一样的。又或者你想要的分布是另外一个分布。

如果你不说你想要什么样的分布,这个问题就是没有意义的。
2017-05-30 11:06:26 +08:00
回复了 slucus 创建的主题 问与答 数组取随机数( 2 或 3 个),取到的数据上下左右不相邻?
@slucus 你这个问题问得就没有含义
2017-05-30 10:56:17 +08:00
回复了 slucus 创建的主题 问与答 数组取随机数( 2 或 3 个),取到的数据上下左右不相邻?
什么叫“随机”?符合哪种分布?
你需要的不是文本格式而是处理这种格式的编辑器😅
2017-05-29 22:09:15 +08:00
回复了 hadixlin 创建的主题 程序员 求 windows, Linux 系统下切换输入法命令行程序
2017-05-29 22:05:20 +08:00
回复了 dou4cc 创建的主题 JavaScript error 的 message 到底有没有句点?
你可以用引号包裹这段文字,并且这段文字不应该直接扔给用户。

一个有趣的问题:message 会不会是本地化的?
后续:该 bug 已经在 2017 年 5 月更新中修复。
2017-05-29 00:48:00 +08:00
回复了 i730 创建的主题 Python 不知道这是什么格式, V 友帮忙看看
2017-05-29 00:21:25 +08:00
回复了 beyoung 创建的主题 程序员 让咱们聊聊程序员学习学英语这件事
学习正字 /语法也很重要

Let's look at a hypothetical situation in which Han, a **novice** **programmer**, gets invited to a GREAT party, however, he is frightened out of his wits because he can't even speak one WORD in **English**.

注意带有星号词语的大小写,以及 however 附近的标点。
2017-05-28 22:34:18 +08:00
回复了 islujw 创建的主题 CSS CSS 怎么写出对话气泡的小尖角?像 iMessage 那样的气泡尖角。
@islujw 那你可以把整个页面套进一个 div 里面,让这个 div 具有 100vh、100vw 和滚动条,并禁止 body、html 之滚动条
@nlysh007 原因是 relative 之后建立了新的 stacking context ……

@P233 谢谢您提供的原因😀😁
@nlysh007 感谢提醒,这里是新的 JSFiddle: https://jsfiddle.net/augkvwb2/

不过这并不影响问题,改成 z-index 仍然是无法点击的状态。
2017-05-28 02:21:38 +08:00
回复了 islujw 创建的主题 CSS CSS 怎么写出对话气泡的小尖角?像 iMessage 那样的气泡尖角。
@islujw 放进一个 div 里面,那个 div 设置高度和滚动条。
2017-05-27 23:23:26 +08:00
回复了 bequt 创建的主题 GitLab 有人知道 gitlab pages 的配置二级域名的方案吗?
@geelaw 额 0 0 我也没认真读 orz
2017-05-27 23:22:08 +08:00
回复了 bequt 创建的主题 GitLab 有人知道 gitlab pages 的配置二级域名的方案吗?
@joesonw
@JJaicmkmy

是 GitLAB 不是 GitHub
2017-05-27 21:48:55 +08:00
回复了 vazo 创建的主题 翻译 ”蹭热点“翻译成英文怎么说?
@vazo publicity stunt 需要自己创建事件
2017-05-27 21:48:09 +08:00
回复了 vazo 创建的主题 翻译 ”蹭热点“翻译成英文怎么说?
显然搜索新造词汇的翻译是很困难的,第一步把它变成熟悉的词汇。“蹭热点”对应的词汇是“热点营销”。

查询 marketibg strayegy,一一比对,发现几个相关的:

event marketing,但它的意思是“创造新闻、事件来营销”
ambush marketing,能表达“蹭”的含义,但例子里面蹭的一般是体育赛事之类的

还有一个简单的规律:“ xx 营销策略”是 xx marketing。所以只要把“热点”翻译一下即可,所以一个候选项是 trend marketing。
@LittleWhiteMouse 我这个也是写 Markdown 然后 build 出站点~我在工具上的追求是能够让我以内容为中心写作,Markdown 本身的语法框架很好,就是还需要更强的功能,所以会有一堆乱七八糟的扩展。
2017-05-27 02:14:34 +08:00
回复了 islujw 创建的主题 CSS CSS 怎么写出对话气泡的小尖角?像 iMessage 那样的气泡尖角。
@islujw *明明
1 ... 151  152  153  154  155  156  157  158  159  160 ... 173  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1024 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 22:17 · PVG 06:17 · LAX 15:17 · JFK 18:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.