请问用 go 刷算法题舒服么(对比 c++)

2021-01-04 15:38:08 +08:00
 YUX

对 golang 不是很了解 一直在用 c++刷 最近想刷题的过程中顺便入门一下 go

thanks

8739 次点击
所在节点    程序员
38 条回复
ginjedoad
2021-01-04 20:50:12 +08:00
rust 刷才有意思
seesky
2021-01-04 20:56:09 +08:00
不舒服, 缺太多东西了
lithbitren
2021-01-04 21:53:44 +08:00
rust 刷复杂数据结构能怀疑人生,满屏 unwrap()
also24
2021-01-04 23:11:28 +08:00
@MoYi123 #18
我随手写了下 O(n^2) 的解法,好像不会超时啊


DGideas
2021-01-04 23:32:57 +08:00
反正刷 LeetCode 英文站的时候,我用 Go 语言写的程序
执行用时:超过 99.99% 的用户
内存消耗:超过 100.00% 的用户

[流汗]
irytu
2021-01-04 23:57:46 +08:00
我一般都是用 C 刷,遇到一些需要用到的 ADT 比如 hash table,会换 c++😂
ruokw
2021-01-05 00:47:50 +08:00
python yyds 哈哈,做题怎么来方便怎么来 你搞个 c 艹可能代码没写完 python 就开始做下一题了
user8341
2021-01-05 05:11:16 +08:00
@irytu 不说哈希表,C 连个链表都没有。C 还是适合底层开发,用来刷题不会有点累?
irytu
2021-01-05 05:16:26 +08:00
@user8341 理解你说的 只是平时不太写代码 刷题好不容易写写代码 就想着尽可能多写吧 简单数据结构用 C 实现一下其实也能接受 比如链表 树这些 弄个自定义的结构体基本满足需求 实现 stack queue 等这类基本的
bojongle
2021-01-05 08:11:46 +08:00
不同语言刷题都大差不差。说来说去也就 if else while,最多 api 不一样,看看官方 doc 两三天就熟了。刷题对语言本身熟悉度的锻炼起不到作用
zjsxwc
2021-01-05 08:30:55 +08:00
还行,你们用 gostl,我写 go 都用 gounderscore 。用类 underscore 的方式写 go
https://github.com/tobyhede/go-underscore
xpresslink
2021-01-05 10:19:48 +08:00
ACM 比赛语言:可以使用的语言:C++、C 、Java 和 Pascal 。
ICPC 来说的一般必有 C,C++,Java 三种选择
其实只能选 C++, 因为你以后要写复杂点的算法,要用大量的 STL 容器,别的语言都没这么方便

如果为了写复杂算法伪代码,我建议用 python,简明,库全,且更接近自然语言。
52coder
2021-01-05 10:34:04 +08:00
@user8341 工作中使用 C,刷题用 C/C++,C++刷题效率太高了 stl 各种封装好的实现,比自己手写效率高,当然使用 C 刷题更能锻炼编码基本功,毕竟 leetcode 上用例相对完善,能发现一些工作中平时覆盖不到的地方(溢出 超时问题等)
lithbitren
2021-01-05 11:42:14 +08:00
@bojongle 对于其他语言是这样的,对 Rust 不行,循环递归闭包很多时候会因为所有权的语法限制的增加很多其他语言不需要的代码和中间变量,部分数据结构还得考虑生命周期的问题,还是复杂很多的,其他主流语言完全就是 API 替换,这个倒是没什么争议,最多是静态类型和动态类型两种风格。
labulaka521
2021-01-05 11:48:52 +08:00
我觉得还行
Claar
2021-01-05 18:50:24 +08:00
@bonfy 用 python 写超时了可能说明算法的复杂度太高,根本不是人家想要的标准答案,c++能过应该只是恰好
bonfy
2021-01-06 09:11:10 +08:00
@Claar 只能说明有更优解 普通的递归解法 可能 python 就超时
Arnie97
2021-01-11 03:13:27 +08:00
@lithbitren 包一层返回 Result<> 的函数,用 ? 舒服点😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/741536

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX