V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
movq
V2EX  ›  程序员

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

  •  
  •   movq · Nov 5, 2022 · 6633 views
    This topic created in 1271 days ago, the information mentioned may be changed or developed.

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

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

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

    38 replies    2022-11-07 13:49:43 +08:00
    Bingchunmoli
        1
    Bingchunmoli  
       Nov 5, 2022 via Android
    我是一个 project 做所有的 leetcode ,可能做的都是简单。。qwq
    sunnysab
        2
    sunnysab  
       Nov 5, 2022 via Android
    放到一个 project 里面呢?

    我写 C++ 的时候,通过 CMake 添加不同的编译目标,保证每个 target 对应一个 .cpp (且里面只有一个 main() )就好了~Java 不是很清楚,实在不行命令行编译( javac xx.java )?
    mschultz
        3
    mschultz  
       Nov 5, 2022   ❤️ 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  
       Nov 5, 2022
    gitlab snippets
    dcsuibian
        5
    dcsuibian  
       Nov 5, 2022
    就一个 Playground 项目,把原来的 Solution 清空直接写

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

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

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

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

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

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