-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
145 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<artifactId>fun-code</artifactId> | ||
<groupId>work.lichong</groupId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
</parent> | ||
|
||
<name>algorithm</name> | ||
<artifactId>algorithm</artifactId> | ||
<description>算法题库</description> | ||
<packaging>jar</packaging> | ||
|
||
<build> | ||
<finalName>algorithm</finalName> | ||
</build> | ||
</project> |
73 changes: 73 additions & 0 deletions
73
algorithm/src/main/java/work/lichong/funcode/algorithm/LRUCache.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
/* | ||
* Copyright 2022 李冲. All rights reserved. | ||
* | ||
*/ | ||
|
||
package work.lichong.funcode.algorithm; | ||
|
||
/** | ||
* <div><a href="https://leetcode.cn/problems/lru-cache/">146. LRU 缓存</a></div> | ||
* <div class="notranslate"><div class="title__3Vvk">请你设计并实现一个满足 <a href="https://baike.baidu.com/item/LRU">LRU (最近最少使用) 缓存</a> 约束的数据结构。</div> | ||
* | ||
* <div class="title__3Vvk">实现 <code>LRUCache</code> 类:</div> | ||
* | ||
* <div class="original__bRMd"> | ||
* <div> | ||
* <ul> | ||
* <li><code>LRUCache(int capacity)</code> 以 <strong>正整数</strong> 作为容量 <code>capacity</code> 初始化 LRU 缓存</li> | ||
* <li><code>int get(int key)</code> 如果关键字 <code>key</code> 存在于缓存中,则返回关键字的值,否则返回 <code>-1</code> 。</li> | ||
* <li><code>void put(int key, int value)</code> 如果关键字 <code>key</code> 已经存在,则变更其数据值 <code>value</code> ;如果不存在,则向缓存中插入该组 <code>key-value</code> 。如果插入操作导致关键字数量超过 <code>capacity</code> ,则应该 <strong>逐出</strong> 最久未使用的关键字。</li> | ||
* </ul> | ||
* | ||
* <p>函数 <code>get</code> 和 <code>put</code> 必须以 <code>O(1)</code> 的平均时间复杂度运行。</p> | ||
* </div> | ||
* </div> | ||
* | ||
* <p><strong>示例:</strong></p> | ||
* | ||
* <pre><strong>输入</strong> | ||
* ["LRUCache", "put", "put", "get", "put", "get", "put", "get", "get", "get"] | ||
* [[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]] | ||
* <strong>输出</strong> | ||
* [null, null, null, 1, null, -1, null, -1, 3, 4] | ||
* | ||
* <strong>解释</strong> | ||
* LRUCache lRUCache = new LRUCache(2); | ||
* lRUCache.put(1, 1); // 缓存是 {1=1} | ||
* lRUCache.put(2, 2); // 缓存是 {1=1, 2=2} | ||
* lRUCache.get(1); // 返回 1 | ||
* lRUCache.put(3, 3); // 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3} | ||
* lRUCache.get(2); // 返回 -1 (未找到) | ||
* lRUCache.put(4, 4); // 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3} | ||
* lRUCache.get(1); // 返回 -1 (未找到) | ||
* lRUCache.get(3); // 返回 3 | ||
* lRUCache.get(4); // 返回 4 | ||
* </pre> | ||
* <p><strong>提示:</strong></p> | ||
* <ul> | ||
* <li><code>1 <= capacity <= 3000</code></li> | ||
* <li><code>0 <= key <= 10000</code></li> | ||
* <li><code>0 <= value <= 10<sup>5</sup></code></li> | ||
* <li>最多调用 <code>2 * 10<sup>5</sup></code> 次 <code>get</code> 和 <code>put</code></li> | ||
* </ul> | ||
* </div> | ||
* | ||
* @author 李冲 | ||
* @see <a href="https://lichong.work">李冲博客</a> | ||
* @since 0.0.1 | ||
*/ | ||
public class LRUCache { | ||
|
||
public LRUCache(int capacity) { | ||
|
||
} | ||
|
||
public int get(int key) { | ||
|
||
return key; | ||
} | ||
|
||
public void put(int key, int value) { | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
.../webflux/demo/WebfluxDemoApplication.java → .../webflux/demo/WebfluxDemoApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 19 additions & 0 deletions
19
...lux-demo/src/test/java/work/lichong/funcode/webflux/demo/WebfluxDemoApplicationTests.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package work.lichong.funcode.webflux.demo; | ||
|
||
import org.junit.jupiter.api.Assertions; | ||
import org.junit.jupiter.api.Test; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.boot.test.context.SpringBootTest; | ||
|
||
@SpringBootTest | ||
class WebfluxDemoApplicationTests { | ||
|
||
@Autowired | ||
WebfluxDemoApplication webfluxDemoApplication; | ||
|
||
@Test | ||
void contextLoads() { | ||
Assertions.assertNotNull(webfluxDemoApplication); | ||
} | ||
|
||
} |
13 changes: 0 additions & 13 deletions
13
webflux-demo/src/test/java/work/lichong/webflux/demo/WebfluxDemoApplicationTests.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...ng/webmvc/demo/WebMvcDemoApplication.java → ...de/webmvc/demo/WebMvcDemoApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...emo/common/bean/ApiResponseWithCount.java → ...emo/common/bean/ApiResponseWithCount.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...mo/common/enumeration/ResponseStatus.java → ...mo/common/enumeration/ResponseStatus.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters