有兴趣的兄弟们可以谈论下,晚上我来公布答案哈
1 ytll21 2020-05-14 15:25:36 +08:00 好难,加个板凳 |
2 kuanng 2020-05-14 15:26:31 +08:00 是我想的太简单了吗 |
![]() | 3 cherbim 2020-05-14 15:28:15 +08:00 楼上+1,你是不是没说清楚, |
![]() | 4 jmc891205 2020-05-14 15:29:03 +08:00 扫一遍不就有结果了? |
![]() | 5 24bit 2020-05-14 15:29:21 +08:00 +1 |
![]() | 6 Oceanhime 2020-05-14 15:32:46 +08:00 +1, 兴致勃勃地进来, 一脸懵逼的出去... 这个是有什么特殊算法吗 |
7 GrayXu 2020-05-14 15:34:08 +08:00 ![]() 太难了,只能 O(n)实现 |
![]() | 8 sayitagain 2020-05-14 15:34:53 +08:00 +1,难道是限定代码不准超过几个英文字母?[手动狗头] |
9 klesh 2020-05-14 15:36:51 +08:00 via Android 考点是位操作? |
10 chanchancl 2020-05-14 15:42:02 +08:00 ??? 老实人来了 Python. str = str[0] + str.replace(str[0], '*')[1:] |
![]() | 11 kera0a 2020-05-14 15:45:34 +08:00 via iPhone 小学生编程大赛第一题? |
![]() | 12 cherbim 2020-05-14 15:46:26 +08:00 大兄弟,快出来解释一下,这到底要考啥???? 强迫症患者表示伤不起 |
![]() | 13 Curtion 2020-05-14 15:49:58 +08:00 ? 有什么特殊要求吗 |
![]() | 14 IGJacklove 2020-05-14 15:52:02 +08:00 哈哈,你们吓到楼主了 |
![]() | 15 < href="/member/xxxy" class="dark">xxxy 2020-05-14 15:55:01 +08:00 老师说,要看到字符串,就想到递归 |
16 charlieputon 2020-05-14 15:55:22 +08:00 via iPhone 你们觉得帖子奇怪的,不看 lz 历史记录的吗?捕鱼达人资深玩家了,还被 Livid 处理过...你们还回复的一头是劲=。=lll |
17 daozhihun 2020-05-14 15:55:35 +08:00 没明白,除了 o(N)的扫描一次还有什么别的办法吗?晚上来看看答案 |
![]() | 18 noble4cc 2020-05-14 15:55:50 +08:00 广告都打到这了♂ |
19 namelosw 2020-05-14 15:57:24 +08:00 感觉头像和发帖都很可疑…… |
![]() | 20 Vegetable 2020-05-14 15:57:25 +08:00 In [2]: def r(s): ...: return s[0]+s[1:].replace(s[0],'*') ...: In [3]: a = 'babble' In [4]: r(a) Out[4]: 'ba**le' |
![]() | 21 Vegetable 2020-05-14 15:58:09 +08:00 哪个公司出这种面试题?小学生编程大赛? |
22 Hstar 2020-05-14 15:58:38 +08:00 ![]() 拭目以待一个 O(logN)的算法 |
23 xiaolinjia 2020-05-14 16:01:21 +08:00 from collections import Counter def f1(c: str): ....a = Counter(c) ....for member in c: ........if a.get(member) != 1: ............b = c[::-1] ............b = b.replace(member, '*', a.get(member) - 1) ....return b[::-1] if __name__ == '__main__': ....print(f1('babble')) 这样? |
![]() | 24 est 2020-05-14 16:08:53 +08:00 julyedu 是个教育培训机构。 |
![]() | 25 SingeeKing PRO 在线蹲一个 O(logN) 的算法 |
![]() | 26 aijam 2020-05-14 16:10:13 +08:00 >>> s = 'babble' >>> re.sub('(?<!^)' + s[0], '*', s) 'ba**le' |
![]() | 27 guolaopi 2020-05-14 16:12:16 +08:00 if(str=='babble'){ return 'ba**le' } |
![]() | 28 crella 2020-05-14 16:13:08 +08:00 via Android 有意思的是,昨天我在知乎上看到一个贴讲 python 的不为人知的缺点,高赞答案就是与这个楼主同名的 id 发的 |
29 newtype0092 2020-05-14 16:40:58 +08:00 @Hstar 印象中好像没有对无序数据集的 logN 算法? |
![]() | 30 cloudfox 2020-05-14 17:48:27 +08:00 纯正则算法 str = str.replace("(?<=^(.).*)\1", "*") |
![]() | 31 more1sec 2020-05-14 17:52:25 +08:00 lambda x: x[0] + x[1:].replace(x[0], '*') 。。。 |
![]() | 32 dswyzx 2020-05-14 17:59:56 +08:00 if(input=="'babble") return "ba**le" else return "try again" O(1) |
![]() | 33 guyeu 2020-05-14 18:10:22 +08:00 ![]() 我有一个绝妙的 O(1)算法,可惜地方太小写不下。 |
![]() | 35 lichdkimba 2020-05-15 05:54:31 +08:00 via iPhone 捕鱼达人 |
![]() | 38 julyedu OP 解析: s=input('input:') for i in range(1,len(s)): print(i) if s[0]==s[i]: s=s[:i]+'*'+s[i+1:] print(s) |