Skip to content

Commit 6837076

Browse files
committed
docs: change readme
1 parent b8b3b47 commit 6837076

File tree

5 files changed

+41
-10
lines changed

5 files changed

+41
-10
lines changed

Readme.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
- [x] 1.模板:获取js的函数体并替换生成文件中的@function
99
- [x] 2.模板:从detail中获取输入用例的数据填充@Testcase
1010
- [x] 3.模板:获取跳转每日一题的链接替换@url
11-
- [ ] 4.函数:优化时间和资源统计函数
11+
- [x] 4.函数:优化时间和资源统计函数
1212
- [ ] 5.优化创建时的体验,添加重复时候的确认覆盖或者添加额外符号
1313
- [ ] 6.特殊数据结构的处理(ListNode,Stack等)的处理
1414
- [ ] 7.创建某一特定编号的题目脚本
15+
- [ ] 8.题目中图片的预览功能
1516

1617
## How to use for yourself ?
1718

common/scripts/checkToday.js

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const { temExe } = require("../utils/temExe");
44
* 检查今天的题目
55
*/
66
const today = readStore("today-tag");
7+
// const today = 2645;
78
console.log("今日的题目编号/名称为:" + today);
89
temExe('node ./src/{0}/index.js', today)
910
.then(res => console.log(`执行结果:\n${res}`))

common/utils/withTimeLog.js

+24-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,34 @@
1-
const { getHeapStatistics } = require("v8");
1+
const v8 = require("v8");
22
const { getFileSize } = require("./sizeUtil");
3-
const {isSameData} = require("./isSameData");
3+
const { isSameData } = require("./isSameData");
44

5-
function withTimeLog(callback,compare) {
5+
function withTimeLog(callback, compare) {
66
// 获取函数执行前的内存使用情况
7-
const startMemUsage = process.memoryUsage().heapUsed
7+
const startHeapStats = v8.getHeapStatistics();
88
console.time("函数执行用时");
99
const callVal = callback()
10+
// 获取函数执行后的内存使用情况
11+
const endHeapStats = v8.getHeapStatistics();
1012
console.log(callVal);
1113
console.timeEnd("函数执行用时")
12-
// 获取函数执行后的内存使用情况
13-
const endMemUsage = process.memoryUsage().heapUsed;
14-
// 计算内存使用率(以字节为单位)
15-
const memoryUsageInBytes = endMemUsage - startMemUsage;
16-
console.log(`内存占用:${getFileSize(memoryUsageInBytes)}`)
14+
15+
// console.log('\n', {
16+
// '当前堆内存的使用量': startHeapStats.used_heap_size,
17+
// '在程序执行过程中达到的内存峰值': startHeapStats.peak_malloced_memory,
18+
// '衡量全局对象句柄的内存使用量': startHeapStats.used_global_handles_size
19+
// }, '\n', {
20+
// '当前堆内存的使用量': endHeapStats.used_heap_size,
21+
// '在程序执行过程中达到的内存峰值': endHeapStats.peak_malloced_memory,
22+
// '衡量全局对象句柄的内存使用量': endHeapStats.used_global_handles_size
23+
// })
24+
25+
// 计算内存使用情况(以字节为单位)
26+
const heapMemoryUsageInBytes = endHeapStats.used_heap_size - startHeapStats.used_heap_size;
27+
// 计算内存使用情况
28+
console.log(`内存占用:${getFileSize(heapMemoryUsageInBytes)}`)
29+
// const memoryUsagePercentage = (heapMemoryUsageInBytes / endHeapStats.total_available_size) * 100;
30+
// console.log(`内存占用率:${memoryUsagePercentage}`)
31+
1732
console.log(`预期值:${JSON.stringify(compare)},${isSameData(callVal,compare)?"测试通过!":"测试未通过!"}`)
1833
console.log('--------------------------')
1934
}

src/2182/index.js

+7
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ var repeatLimitedString = function(s, repeatLimit) {
6565
*/
6666
withTimeLog(() => repeatLimitedString(s = "cczazcc", repeatLimit = 3),"zzcccac");
6767
withTimeLog(() => repeatLimitedString(s = "aababab", repeatLimit = 2),"bbabaa");
68+
withTimeLog(() => repeatLimitedString(s = "cczazcc", repeatLimit = 3),"zzcccac");
69+
withTimeLog(() => repeatLimitedString(s = "aababab", repeatLimit = 2),"bbabaa");
70+
withTimeLog(() => repeatLimitedString(s = "cczazcc", repeatLimit = 3),"zzcccac");
71+
withTimeLog(() => repeatLimitedString(s = "aababab", repeatLimit = 2),"bbabaa");
72+
withTimeLog(() => repeatLimitedString(s = "cczazcc", repeatLimit = 3),"zzcccac");
73+
withTimeLog(() => repeatLimitedString(s = "aababab", repeatLimit = 2),"bbabaa");
74+
withTimeLog(() => repeatLimitedString(s = "cczazcc", repeatLimit = 3),"zzcccac");
6875

6976
console.log("点击跳转到题目提交:https://leetcode.cn/problems/construct-string-with-repeat-limit/")
7077

src/82/index.js

+7
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,13 @@ var deleteDuplicates = function(head) {
6464
* Test case
6565
*/
6666
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
67+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
68+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
69+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
70+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
71+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
72+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
73+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
6774
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
6875

6976
console.log("点击跳转到题目提交:https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/")

0 commit comments

Comments
 (0)