V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX  ›  程序员

你们怎么管理自己的 leetcode 代码?

  •  
  •   movq · 2022-11-05 00:51:01 +08:00 · 5038 次点击
    这是一个创建于 509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 Java 写 leetcode ,每个题都是单独开一个 Java project ,然后建立一个 git 来管理代码(这样可以记录我的修改)

    但问题是我有 2 台机器,一个台式机一个笔记本,有时候会用台式机写,有时候会用笔记本写,这样代码分散到各处,其实挺麻烦的。

    如果要把所有的题目都用 git 管理,笔记本和台式机都和远程 git 同步,但这样单个 java project 里面又不能用 git 了

    38 条回复    2022-11-07 13:49:43 +08:00
    Bingchunmoli
        1
    Bingchunmoli  
       2022-11-05 01:03:06 +08:00 via Android
    我是一个 project 做所有的 leetcode ,可能做的都是简单。。qwq
    sunnysab
        2
    sunnysab  
       2022-11-05 01:09:33 +08:00 via Android
    放到一个 project 里面呢?

    我写 C++ 的时候,通过 CMake 添加不同的编译目标,保证每个 target 对应一个 .cpp (且里面只有一个 main() )就好了~Java 不是很清楚,实在不行命令行编译( javac xx.java )?
    mschultz
        3
    mschultz  
       2022-11-05 01:23:59 +08:00   ❤️ 2
    我用 Rust ,一个 Cargo project, 里面一个 pub mod solution ,里面有一个 pub struct Solution {}。

    然后每个题都在一个 mod solution 的 submodule 文件里,例如 solution/_0001.rs ,里面是这道题的 impl Solution {pub fn ......} (这样可以直接原样粘贴到 leetcode 上)

    然后用 {project_root}/tests/_0001_test.rs 这样的文件写 tests 。

    然后 cargo test 0001 这样可以测试。
    edis0n0
        4
    edis0n0  
       2022-11-05 01:35:05 +08:00
    gitlab snippets
    dcsuibian
        5
    dcsuibian  
       2022-11-05 01:51:05 +08:00
    就一个 Playground 项目,把原来的 Solution 清空直接写

    leetcode 本身就会保存提交记录,而且个人觉得这种编程题的源代码没啥管理的必要,重要的只有思路,怎么写倒是无关紧要。

    而且代码量太小了,我之前 mac 和台式机混用,一台机器上写到一半,另一台机器上直接重写,都懒得用 Git 同步。
    SeaTac
        6
    SeaTac  
       2022-11-05 01:57:14 +08:00   ❤️ 1
    Project?那你如果刷了几百题不就有几百个 project 了?过于浪费了...

    就放在一个 project 里呗,每个类别创建一个文件夹,或者全部题目都放在一个文件夹里
    每题都是一个 java class ,无非就是你要改一下 class name ,要不全是 class solution 你看着也难受
    另外为了方便 debug 再分一个 util 文件夹

    单 project 也不需要担心管理,git 就能搞定
    Biggoldfish
        7
    Biggoldfish  
       2022-11-05 01:59:32 +08:00   ❤️ 3
    LeetCode 网站上有提交记录啊,这代码也没啥管理的必要吧
    pennai
        8
    pennai  
       2022-11-05 02:53:51 +08:00
    建了个 maven 项目,每道题一个包,每个可以独立运行,golang 的代码也放在 java 包下,用 go root 模式也可以单独运行
    lsry
        9
    lsry  
       2022-11-05 03:48:04 +08:00
    放到一个项目里面,用命令行运行代码
    luckyx
        10
    luckyx  
       2022-11-05 04:13:10 +08:00
    可以没有,
    也可以用 leethub
    HuPu
        11
    HuPu  
       2022-11-05 07:12:43 +08:00
    我用利口中文 每次提交可以加 flag 记录不同解法
    yumubi
        12
    yumubi  
       2022-11-05 07:57:38 +08:00
    一题一个 public class,内部用 @Test
    quzard
        13
    quzard  
       2022-11-05 08:03:01 +08:00 via iPhone
    用脚本自动下载 leetcode 上最新的代码即可
    guisheng
        14
    guisheng  
       2022-11-05 08:09:41 +08:00 via iPhone
    Solution_001.Java
    GeruzoniAnsasu
        15
    GeruzoniAnsasu  
       2022-11-05 09:00:35 +08:00   ❤️ 1
    我全都写成一个项目里的单测了
    Karlven
        16
    Karlven  
       2022-11-05 10:02:10 +08:00 via Android
    用 rust 重写,方法见 3 楼((
    wolfie
        17
    wolfie  
       2022-11-05 11:46:44 +08:00
    IDEA, remote server

    借助一个 server ,同步代码。
    git 相关操作都在 server 上。
    yechentide
        18
    yechentide  
       2022-11-05 11:49:54 +08:00 via iPhone
    用 swift 在一个项目里写,顺便写 test
    20015jjw
        19
    20015jjw  
       2022-11-05 12:30:36 +08:00 via iPhone
    你以为折腾这个可以有什么正面效果
    事实上只会影响你刷题的效率
    不如本子笔打草稿
    电脑上开个 vim keybinding 的编辑器
    简简单单
    movq
        20
    movq  
    OP
       2022-11-05 12:38:31 +08:00
    @huyujievip 你想表达什么?
    gengjiawen
        21
    gengjiawen  
       2022-11-05 12:42:59 +08:00
    https://github.com/gengjiawen/leetcode 我 java 没啥实践,go ,rust ,js 都是一个文件一个问题
    msg7086
        22
    msg7086  
       2022-11-05 12:52:29 +08:00
    我甚至都没想过要存一套 leetcode 代码。刷题不都是上去开个新档重写么……
    lixiang2017
        23
    lixiang2017  
       2022-11-05 13:04:07 +08:00 via Android
    https://github.com/lixiang2017/leetcode
    一个语言一个文件夹,里面一个题一个文件。
    脚本命令快速生成文件名,并用 sublime text 打开, linux/win/macos 多平台均支持。
    y1y1
        24
    y1y1  
       2022-11-05 13:17:04 +08:00
    这有啥好管理的,一题不就一个.cpp ,全扔一个文件夹完事了
    nightwitch
        25
    nightwitch  
       2022-11-05 13:23:10 +08:00
    在网页上直接写,不用 IDE 。
    真实面试场景也没有 IDE ,现场面可能直接白板。
    richarddingcn
        26
    richarddingcn  
       2022-11-05 14:27:06 +08:00
    gitlab
    857681664
        27
    857681664  
       2022-11-05 14:34:50 +08:00
    https://github.com/zshnb/algorithm
    我自己创建了一个算法项目,里面 leetcode 和 lintcode 各有自己的文件夹,同时还会写一些经典数据结构的代码,对于每一题都会写一个对应的单元测试跑用例,这样管理还挺清晰的
    oneisall8955
        28
    oneisall8955  
       2022-11-05 15:09:27 +08:00 via Android
    github 一个项目,一道题对应一个 class ,看不出有啥不好
    MMMMMMMMMMMMMMMM
        29
    MMMMMMMMMMMMMMMM  
       2022-11-05 15:27:22 +08:00
    没必要存,因为不会复用
    skywalkerfc
        30
    skywalkerfc  
       2022-11-05 16:23:43 +08:00
    leetcode 官方的解题记录打标签
    github
    holy_sin
        31
    holy_sin  
       2022-11-05 17:11:27 +08:00
    网站都有 submission
    jiangzhizhou
        32
    jiangzhizhou  
       2022-11-05 17:49:10 +08:00
    为了面试的话,最高一级是直接在 web 里写出来没有高亮,bug free 。
    zmxnv123
        33
    zmxnv123  
       2022-11-05 20:56:38 +08:00
    每天爬虫定时任务同步 github

    https://github.com/nzooherd/leetcode/commits/master
    alexleee
        34
    alexleee  
       2022-11-06 20:39:38 +08:00
    没人提 leetcode Plugin 吗 感觉这个 idea 插件还不错 ,你只要创个文件夹,每次做新题双击题目他会在文件夹创建一个以题目英文名称命名的 javaclass ,然后还带 main 方法,题目逻辑他封装在一个叫 Solution 的内部类,这样你就可以 solution 里写逻辑,在 main 里面写 testcase 了,因为最外层类名字不一样所以每道题都是隔离开的(当然这些命名之类他提供了可改的模板)。这样还有个好处就是你可以直接在文件夹底下写好 ListNode 和 TreeNode 之类的数据结构,不用每次复制他的注释的 listNode 过来,然后也可以在里面写一些常用的静态方法,比如数组转树,数组转 ListNode 之类的快速构造的函数
    zggsong
        35
    zggsong  
       2022-11-06 23:22:26 +08:00
    我用 golang 建了一个项目目录,两个目录一个 code 管理代码,一个 doc 管理 markdown ,记录记录思路啥的,用 docsify 构建,方便追溯
    xiangxiangxiang
        36
    xiangxiangxiang  
       2022-11-07 10:25:17 +08:00
    写完同步到印象笔记上 包括题目 思路 和 答案
    mooncakeSec
        37
    mooncakeSec  
       2022-11-07 11:07:40 +08:00
    在线手撕+在线笔记足够了吧,况且还要经常复习重做,没必要保存代码的
    rodrick
        38
    rodrick  
       2022-11-07 13:49:43 +08:00
    之前也会记录类型 题目 题解和思路 但是后来慢慢的觉得还是太麻烦了 直接一个 md 记一下题号题目和解题就完事了 但是大部分题目并不会再去看一遍 感觉记录意义也不大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3326 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:30 · PVG 21:30 · LAX 06:30 · JFK 09:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.