Coding
Data Structures

LRU Cache With Expiry

Premium
Difficulty

Read the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.

Available in Python and C++. You are solving it in C++. Switch to Python

x xxxxxxx xxxxxxx xxxxxx xxxxxxxxx xxxx, xxx xxxxx xxxxxx xxxxx xxxx xxxxx xxxxx x xxxxx: x xxxxxx xxxx xx xxxx xxx x xxxxxx, x xxxxxxxxx xxxxxx xxxxxxxx xxx x xxx. xxxxx xx xxx xxxxx xxxx x xxxxx xxxxxxxx xx xxxxx xxxxx xxxxx xxxx xxx x xxxx xx xxxx (xxx).

xxxxxxxxx x xxxxx xxxxxxxx(xxxxxxxx) xxxx xxx xxxxxxx. xxxx xx xx xxxxxxx xxxxxx xxxx xxxx xxxx xx xxx.

  • xxx(xxx, xxxxx, xxx, xxx): xxxxx xxxxx xxxxx xxx. xxx xxxxx xxxxxxx xx xxx + xxx xxx xxxxxxx xxx xxxx xxxxxxxx xxxx xxxxx.
    • xx xxx xx xxxxxxx xx xxx xxxxx, xxxx xx xx xxxxxx: xxxxxxx xxx xxxxx, xxxxx xxx xxxxxx xx xxx + xxx xxx xxxx xxx xxxxx xxxx xxxxxxxx xxxx. xx xxxxxx xxxxx xxxxxx xxxxxxxx, xxxx xxxx xxx xxxxx xx xxxx.
    • xx xxx xx xxx xxx xxx xxxxx xx xxxx, xxxxx xxxxxx xxxxx xxxxxxx xxxxx. xx xxx xxxxx xx xxxxx xxxx xxxxx xxxx, xxxxx xxx xxxxx xxxxxxxx xxxx xxxxx. xxxx xxxxxx xxx xxx xxxxx.
  • xxx(xxx, xxx): xx xxx xx xx xxx xxxxx xxx xxx xxx xxxxxxx, xxxxxx xxx xxxxx xxx xxxx xxx xxxxx xxxx xxxxxxxx xxxx. xxxxxx -x xxxxxxxxx. x xxxxxxxxxx xxx xxxx xxx xxxxxx xxx xxxxxx.

xx xxxxx xxx xxxxxxx xxxx xxx >= xxx xxxx + xxx: xx xxxxx xxx xx xxxx x xxxx xxx x xxx xx xxxx xx xxxx x xxx xxx xx xxxx x.

xx xxxxxxx xxxxx xxxxx xxxxx x xxxx xxxxx xx xx xxxxxxx, xxx xx xx xxxxxx xxxxxxx xxxxxx x xxxx xxxxx xx xxxxxxx. xx x xxxx xxxxx xx xxxxxxx xxxx xxxx xxxxxxxx xxxx xxxxxxx xxx xx xxx xxxxx. xxx xxx xxxx xxxxxx xx xxxxxxx xxxxx xxxxxxx, xxx xxxxxxx xxxx x xxx xxxxx xx: xx xxxx xxx xxxx xxx xxxxxxxxxx.

xxx xxxxx xxxxx xxxx xxxxx xxxxxxx xxx xxx_xxx(xxxxxxxx, xxx) xxxxxx xxxxxxx xx xxx xxxxxxxx (xx xxx xxxxxx xx). xxxx xx xx ("xxx", xxx, xxx) xx ("xxx", xxx, xxx, xxxxx, xxx), xxxx xxx xxxx xxxxx. xxx xxxxxx xxxxxxx xxx xxxxxx xxx xx: xxx xxxxxx xx x xxx, xx xxxx xxx x xxx.

xxxxxxxx

xxx_xxx(x, [("xxx", x, x, xx, x), ("xxx", x, x, xx, xxx), ("xxx", x, x),
            ("xxx", x, x, xx, xx), ("xxx", x, x), ("xxx", x, x), ("xxx", x, x)])
# [xxxx, xxxx, xx, xxxx, xx, -x, xx]
# xxx xxx xx xxxx x xxxxx xxx x xxx xxxx xxxxxxxx xxxx, xx xxx x xx xxx
# xxxxx xxxxxxxx xxxx. xx xxxx x xxx x xxx xxxxxxx (xx xxxxxxx xx x), xx
# xxx(x) xxxxxxx xxx x xxx xxxxx xxx x.

xxx_xxx(x, [("xxx", x, x, xx, xx), ("xxx", x, x), ("xxx", x, x), ("xxx", xx, x),
            ("xxx", xx, x, xx, x), ("xxx", xx, x), ("xxx", xx, x)])
# [xxxx, xx, xx, -x, xxxx, xx, -x]
# xxx xxxx xx x xxx x xx xxx xxxx xxx xxxxxx, xx xxx x xx xxxx xx xx.
# xxx xxx xx xx xxxxxx x xxx xxx xxxx xxxx xx xx.

xxxxxxxxxxx

  • (x xx xxxx{xxxxxxxx} xx x xxxxx xx^x). xx xx (x xxxxx xx^x) xxxxxxxxxx.
  • xxxx xxx xxxxxx xxx xxxxxxxx xxxx (x xx xxxx{xxx} < x^{xx}) xxx (x xx xxxx{xxxxx} xx xx^x), xx -x xx xxxxx x xxxxxx xxxxx.
  • (x xx xxxx{xxx} xx xx^{xx}) xxx (x xx xxxx{xxx} xx xx^{xx}), xx xxx + xxx xxxxx xx xxxx. xxxxx xxxxx xxxxxxxx xxxx xxx xx xx xxx xxxx, xxx xxxxxxx xxx xxx xxxxx x xxxx.
  • xxx xxxxxxx xxxxxx xxxx xxxxx xxx xxxxx xxxx xxxxx xxxxxxx xxxxxx xxx xxx xxxx. xxxxxxxx xxxxx xxxxx xx xxxx xxx xxxxxxx xxxx xx xxxx xxxxxx xxxx xxx xxxxxx xx xxxx.

xx x++

xxxxx xxxxxxxx {
xxxxxx:
    xxxxxxxx xxxxxxxx(xxx::xxxx_x xxxxxxxx);
    xxxx xxxx xxx(xxxx xxxx xxx, xxxx xxxx xxx);
    xxxx xxx(xxxx xxxx xxx, xxxx xxxx xxxxx, xxxx xxxx xxx, xxxx xxxx xxx);
};

xxx xxxxxxxx'x xxx_xxx xxxxx xxx xx {"xxx", xxx, xxx} xxx {"xxx", xxx, xxx, xxxxx, xxx} xxx xxxxxxx xxx xxx::xxxxxxxx<xxxx xxxx> xxx xx: xxx xxxxxx xx x xxx, xxx::xxxxxxx xxx x xxx. xxx x++ xxxxxxxxxxx xxxx xxxx xxx xxxxx xxx xxxxxxxxxx xx xxx xxxxx xxx xxxxxxxx.

This problem is only available to subscribers.

Language:
Python 3.12C++23
run_ops

Unlock the problem to run it against the tests.