起因是有人在群里贴了这个租房广告
然后有人贴了随手写的解决方案
跟着又是贴各种精简版
然后有人贴了随手写的解决方案
跟着又是贴各种精简版
1
guizer Jun 22, 2016
这是什么语言啊,第一张图片我居然看懂了
|
2
mns Jun 22, 2016 via Android
有意思
|
3
xx314327475 Jun 22, 2016
代码程序要是设计的再复杂一点就好了
|
5
SvenWong Jun 22, 2016
java 代码的缩进有点问题
|
6
viko16 Jun 22, 2016
第一眼就觉得是 HR 的新阴谋!
|
7
lichun Jun 22, 2016
tel = '18013820100'
arr = list(set(tel)) index = [arr.index(number) for number in tel] |
8
fcicq Jun 22, 2016
正常的语言不应该能执行的. 越界了.
|
9
sunchen Jun 22, 2016
坚决不和 Java 程序员合租。他们做事太繁琐。我这样说可以引起骂战吗,哈哈哈
|
11
kindjeff Jun 22, 2016 via iPhone 缩进没对齐,+=前面不加空格,冒号前面加了个空格。天呐,怎么能和这样的人当室友。
|
12
ipconfiger Jun 22, 2016 租房代码生成器
|
13
ipconfiger Jun 22, 2016
|
14
zzzreg Jun 22, 2016
ruby 版的还可以再精简,不用 to_s 的
```ruby index.map { |i| arr[i] }.join ``` |
15
guizer Jun 22, 2016
啊。我写个 shell 吧 ,不会精简.... /惊哭
arr=(8 2 1 0 3) index=(2 0 3 2 4 0 1 3 2 3 3) for i in ${index[*]};do tel+=${arr[$i]} done printf "$tel\n" |
16
Biwood Jun 22, 2016
虽然不知道是什么语言,但是这个逻辑本身就很简单,目测就能写出号码了: 18013820100
|
18
asj Jun 22, 2016
Haskell
putStrLn $ ($ (head.show) `map` [8,2,1,0,3]) `map` (flip(!!) `map` [2,0,3,2,4,0,1,3,2,3,3]) |
19
inisun Jun 22, 2016
看见这种写法,一般都是近几年的年轻人了,工作量大的时候,看这种 foreach 很累人
|
20
majunbo Jun 22, 2016
var arr = [8,2,1,0,3];
var index = [2,0,3,2,4,0,1,3,2,3,3]; var tel = ""; index.forEach(function(e){ tel+=arr[e]; }) document.write("联系方式:"+tel); |
21
broadliyn Jun 22, 2016
还不如画张图找最短路径组成的手机号。。。
比这个无脑的 foreach 要高级多了 |
22
21grams Jun 22, 2016
这是在秀智商下限吗?
|
23
RemRain Jun 22, 2016
图片上的解法无非都是把多行写到一行,我来贴个简单的:
|
24
RemRain Jun 22, 2016
print "18013820100"
|
25
ethanlu Jun 22, 2016 via Android
学过一点 swift 居然对了
|
26
solaya Jun 22, 2016 别去,写 java 的人不会自己做垃圾回收的
|
27
ajan Jun 22, 2016 [2,0,3,2,4,0,1,3,2,3,3].map(i=>[8,2,1,0,3][i]).join('')
|
28
surfire91 Jun 22, 2016
毫无 ps 痕迹啊
|
30
yuyang1110 Jun 22, 2016
屎一般的缩进。。。。果断不能去啊。。
|
31
ifake Jun 22, 2016
难道就我关心……群租该举报?
|
32
palmers Jun 22, 2016
哈哈哈哈哈
|
33
doushiyinweini Jun 22, 2016
$arr = [8,2,1,0,3];
$index = [2,0,3,2,4,0,1,3,2,3,3]; echo implode('', array_map(function($i) use ($arr){ return $arr[$i]; }, $index)); |
34
npc0der Jun 22, 2016
我的号码只包含 1805 开头也是 1805
|
35
ChaosPark Jun 22, 2016
这样水平的人不适合当室友。
|
36
hiboshi Jun 22, 2016
<?php
$arr = [8,2,1,0,3]; $index = [2,0,3,2,4,0,1,3,2,3,3]; foreach ($index as $k=>$v) { echo $arr[$v]; } 我是来引杖的。。。。。。。。。。。。。。。 |
37
chuhemiao Jun 22, 2016
还是 rust 看着帅!!!
|
38
tangzhehao Jun 22, 2016
卧槽,这个还要这么复杂么?直接推理就能猜出来。
即使不懂代码,也知道 $arr 和 $index 一个是数集,一个是序列,按照手机号是 11 位,即可以推测出 $index 是序列, $arr 作为数集只有 5 个数字,序列之中有 0 没有 5 ,自然是 0 开始计数。如此对应下来: —————————————————— 序号 0 1 2 3 4 数集 8 2 1 0 3 —————————————————— 20324013233 18013820100 对否? |
40
woshiyigexiaohao Jun 22, 2016
|
41
chuhemiao Jun 22, 2016
@tangzhehao 赞,原来这才是作者的初始目地
|
42
lingo233 Jun 22, 2016
''.join(map(lambda i:str([8,2,1,0,3][i]), [2,0,3,2,4,0,1,3,2,3,3]))
|
43
4641585 Jun 22, 2016
一般来说
print var //是 python2 console.log() //是 js system.out.println(); //是 java 这几个比较有特点。。 |
44
slfmessi Jun 22, 2016
550 ,好便宜
|
47
tangzhehao Jun 22, 2016
@chuhemiao 其实可以了,愿意这样去推理的,肯定也是有心想要去租房的、且有点头脑的。
|
48
ys0290 Jun 22, 2016 via iPhone
没人在意这个号码被打爆吗?
|
49
yiios Jun 22, 2016
func tel () -> String {
let count = [1,2,3,5,7,0] let index = [0,3,4,3,2,5,2,5,5,1,5] var tel = "" for i in index { tel = tel + String(count[i]) } return tel } |
50
tatsuteng Jun 22, 2016
脸酸
|
51
virusdefender Jun 22, 2016 不能和写 Java 的做室友,因为他们很多不会自己进行垃圾回收
|
52
cashew Jun 22, 2016
慎重选择用三个字符缩进的室友。。。。。
|
53
florije Jun 22, 2016
妈蛋,都上当了,这是中介看不懂,然后发帖引诱小伙伴们帮忙解答……
|
57
daiqiangbudainiu Jun 22, 2016
把 Java 改成其他语言而已
|
58
zcqshine Jun 22, 2016
你们难道没发现这段代码实际上的输出应该是: 联系方式: 25
吗????? |
61
ccloli Jun 22, 2016
建议下次用位运算提升难度
|
62
kkurs Jun 22, 2016
fn main() {
let arr = [8, 2, 1, 0, 3]; let index = [2, 0, 3, 2, 4, 0, 1, 3, 2, 3, 3]; println!("{}", index.iter().fold(String::new(), |phone, &i| phone+&arr[i].to_string())); } 我贴个 Rust 的好了 |
63
cocacold Jun 22, 2016
var num = [8,2,1,0,3];
var index = [2,0,3,2,4,0,1,3,2,3,3]; var tel = ""; for(var i in index){tel += num[index[i]];} console.log(tel); |
64
fanTasy Jun 22, 2016
([2,0,3,2,4,0,1,3,2,3,3].map(n => { return [8,2,1,0,3][n] })).join('')
|
66
homfen Jun 22, 2016
console.log([2,0,3,2,4,0,1,3,2,3,3].reduce((a, b) => a + [8,2,1,0,3][b], ''))
|
67
Ouyangan Jun 22, 2016
为何又把我 java 黑了一圈
|
68
easing Jun 22, 2016
秀优越的无非是用高阶函数替换 foreach 而已,也并不一定比原来 java 的简洁易懂。作为中立方,这里支持 java 一把。
|
69
KDr2 Jun 22, 2016
Rscript -e 'c(8,2,1,0,3)[c(2,0,3,2,4,0,1,3,2,3,3)+1]'
|
70
aitaii Jun 22, 2016
lBoleBzoloo
|
71
momo1999 Jun 22, 2016 print("18013820100")
人工智能语言,不服不辨 |
72
ihuzhou Jun 22, 2016
真是给南京程序员丢人
|
73
zencoding Jun 22, 2016 我也恶搞一下
<?php foreach ([2,0,3,2,4,0,1,3,2,3,3] as $i) echo [8,2,1,0,3][$i]; |
74
Dreawer Jun 22, 2016
ruby 版
arr = [8, 2, 1, 0 ,3] index = [2, 0, 3, 2, 4, 0, 1, 3, 2 ,3 ,3] tel = "" for i in 0..index.size tel += arr[index[i]].to_s end puts "联系方式:" + tel |
75
irockytan Jun 22, 2016 via iPhone
贴代码的都是 Mac
|
76
uztyzrxd Jun 22, 2016
不过是展示下各种语言的特性, 谈不上秀优越吧
@guizer bash? arr=(8 2 1 0 3) tel=$(eval echo '${arr['{2,0,3,2,4,0,1,3,2,3,3}']}') echo "联系方式:" ${tel// } 这样如何? |
79
magicdawn Jun 22, 2016
|
80
magicdawn Jun 22, 2016
|
81
KomeijiSatori Jun 22, 2016
<?php
$arr = [8,2,1,0,3]; $index = [2,0,3,2,4,0,1,3,2,3,3]; foreach ($index as $i) echo $arr[$i]; |
82
nameldk Jun 22, 2016
来个 PHP 版的:
echo join('', array_map(function($i){return [8,2,1,0,3][$i];}, [2,0,3,2,4,0,1,3,2,3,3])); |
85
Dowding Jun 22, 2016
<?php
echo implode('', array_map(function ($i) {return [8, 2, 1, 0 ,3][$i];}, [2, 0, 3, 2, 4, 0, 1, 3, 2 ,3 ,3])); |
86
lululau Jun 22, 2016
```
(let ((arr '(8 2 1 0 3)) (idx '(2 0 3 2 4 0 1 3 2 3 3))) (--reduce-from (+ (* acc 10) (nth it arr)) 0 idx)) ``` |
89
zhuangzhuang1988 Jun 22, 2016
都闲得蛋疼..
|
90
eoo Jun 22, 2016 via Android
echo "18013820100";
|
91
lujiajing1126 Jun 22, 2016 via iPhone
第一眼觉得为什么不用 StringBuilder😂😂
|
92
Henrybsbhp Jun 22, 2016
这个可以自己心算然后写出来吧...
|
93
bullettrain1433 Jun 22, 2016
都没缩进,好着急
|
94
SonicY Jun 22, 2016
我去楼上诸位的看起来都好复杂
foreach (@arr[@index]) { print $_; } |
96
SonicY Jun 22, 2016 |
97
twl007 Jun 23, 2016
噗 - - 好吧…… perl 果然是自由哎~~
|
99
araraloren Jun 23, 2016
@webjin1 那是 Perl
如果改用 Perl6 来写就是这样 ```perl6 say ([8, 2, 1, 3, 0][2, 0, 3, 2, 4, 0, 1, 3, 2, 3, 3]).join(''); ``` |