V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
KamL
V2EX  ›  问与答

请教一下这种情况的话属于哪种算法可以解决呢?

  •  
  •   KamL · Mar 3, 2023 · 1159 views
    This topic created in 1151 days ago, the information mentioned may be changed or developed.
    业务中碰到难道这样的需求.....
    需要用户输入 6 个数据:
    起始层,列,排 [a, b, c]
    终止层,列,排。[x, y, z]
    根据输入的起始和终止数据创建(a~x)*(b~y)*(c-z)个数据,如:
    起始 1,1,1 终止 10,10,2 (需要创建 200 个对象,每个对象的层( 1~10 ),列( 1~10 ),排( 1~2 )有对应的坐标)

    如果不想用三层 for 循环的话可以,有没有哪道 leetcode 题目的算法是类似的可以解决这个问题?
    3 replies    2023-03-04 13:11:47 +08:00
    LxExExl
        1
    LxExExl  
       Mar 3, 2023 via iPhone
    需要创建 x*y*z 个结果,每个结果复杂度是 O(1), 这已经需要三个循环了。咋可能更快呢?

    还是楼主需要那种 one liner 语法糖呢?
    KamL
        2
    KamL  
    OP
       Mar 3, 2023
    刚开始修炼算法,被 leetcode 的题目震撼,以为有那种可以更精妙的写法
    whileFalse
        3
    whileFalse  
       Mar 4, 2023
    可以把三维数组展开成单维数组,但在业务场景上性能差不了太多,没意义还影响阅读。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3378 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 00:34 · PVG 08:34 · LAX 17:34 · JFK 20:34
    ♥ Do have faith in what you're doing.