我[]在Ruby中遇到了方括号语法,但似乎从来没有做同样的事情.任何人都可以列出[]Ruby中方括号的所有不同用途,所以我的脑海里可以处理这个看似无穷无尽的多功能小符号吗?(如果没有Ruby解释器混淆,一个符号可以做多少呢?)
例子:
[]和[]=方法%q[...][1,2,3][0]hash["a"] = 3ary = []/[^A-Fa-f0-9]/"Is a string"[5,3]问题
我想将网格(2D阵列)划分为随机形状的部分(想想地球的构造板块).
标准是:
我的解决方案
请注意,为了避免在其内部长出"臂"或大孔的部分,我创建了两个存储阵列:一个用于与一个单元相邻的单元,当前部件ID号,另一个用于与多个单元相邻的单元,然后我在前者之前用尽了后者.
运行我的解决方案提供以下内容:
网格大小:200
宽度:20
高度:10个
部分:7
66633333111114444466
00033331111114444466
00003331111114444466
00003331111144444660
0000333111164444660
00000336111664422600
00000336615522222200
00006655555522222200
00006655555552222220
00066655555552222220
产品号:0产品
尺寸:47
部件号:1
零件尺寸:30
产品号:2产品
尺寸:26
产品号:3产品
尺寸:22
产品号:4产品
尺寸:26
产品号:5产品
尺寸:22
产品号:6产品
尺寸:27
我的解决方案有问题:
其他想法:
结论:
所以这就是问题:我是一名初学程序员,不确定我是否以正确的方式解决了这个问题.我可以创建一些更多的"补丁"方法,将碎片部分移动到一起,并允许形成部分"跳出"死胡同,如果它们卡在它们中,但它感觉凌乱.
你会如何解决这个问题?我可以用一些性感的数学来简化一些事情吗?
谢谢
language-agnostic algorithm grid multidimensional-array computational-geometry
比较多个数组并删除重复数据的最简单方法是什么?
所以(在这种情况下数组里面的数组)......
a = [[2, 1], [3, 3], [7, 2], [5, 6]]
b = [[2, 1], [6, 7], [9, 9], [4, 3]]
c = [[2, 1], [1, 1], [2, 2], [9, 9]]
d = [[2, 1], [9, 9], [2, 2], [3, 1]]
Run Code Online (Sandbox Code Playgroud)
......会出来(优先考虑数组a,然后是b,然后是c,然后是d)
a = [[2, 1], [3, 3], [7, 2], [5, 6]]
b = [[6, 7], [9, 9], [4, 3]]
c = [[1, 1], [2, 2]]
d = [[3, 1]]
Run Code Online (Sandbox Code Playgroud)