From 242d98d0c0bd33e2767074e9f48550bbee2e3f1b Mon Sep 17 00:00:00 2001 From: kevinding1125 <745518019@qq.com> Date: Sun, 11 Jun 2023 13:45:59 +0800 Subject: [PATCH] =?UTF-8?q?leecode=EF=BC=8Crt=5Fphm=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Leecode/hs_err_pid12532.log | 264 ------------------ .../graph/LC_127_LadderLength.java | 6 +- .../listnode/LC_82_DeleteDuplicatesII.java | 22 ++ .../hot100/second/T34_75_SortColors.java | 26 +- .../hot100/second/T55_146_LRUCache.java | 103 +++++++ .../interview/meituan/T0415/NestingDolls.java | 90 ++++++ .../interview/meituan/T0415/Question4.java | 92 ++++++ 7 files changed, 336 insertions(+), 267 deletions(-) delete mode 100644 Leecode/hs_err_pid12532.log create mode 100644 Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/NestingDolls.java create mode 100644 Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/Question4.java diff --git a/Leecode/hs_err_pid12532.log b/Leecode/hs_err_pid12532.log deleted file mode 100644 index 4d200d7..0000000 --- a/Leecode/hs_err_pid12532.log +++ /dev/null @@ -1,264 +0,0 @@ -# -# A fatal error has been detected by the Java Runtime Environment: -# -# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006abea148, pid=12532, tid=0x0000000000004e18 -# -# JRE version: Java(TM) SE Runtime Environment (8.0_311-b11) (build 1.8.0_311-b11) -# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.311-b11 mixed mode windows-amd64 compressed oops) -# Problematic frame: -# V [jvm.dll+0x19a148] -# -# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows -# -# If you would like to submit a bug report, please visit: -# http://bugreport.java.com/bugreport/crash.jsp -# - ---------------- T H R E A D --------------- - -Current thread (0x000002d51ddc9000): JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=19992, stack(0x000000ec02500000,0x000000ec02600000)] - -siginfo: ExceptionCode=0xc0000005, reading address 0x000002d51d8e2018 - -Registers: -RAX=0x000002d51d7786d0, RBX=0x0000000000000003, RCX=0x000002d51d8e2008, RDX=0x000002d51d779200 -RSP=0x000000ec025ff7b0, RBP=0x000000ec025ff829, RSI=0x00000000000000b6, RDI=0x000002d51d779268 -R8 =0x000002d51d779aa8, R9 =0x00007ffedf820000, R10=0x000002d51d779211, R11=0x000002d51fea87d9 -R12=0x000002d51fea87d8, R13=0x000000ec025ff8b0, R14=0x000000000000005b, R15=0x00000000000000b6 -RIP=0x000000006abea148, EFLAGS=0x0000000000010202 - -Top of Stack: (sp=0x000000ec025ff7b0) -0x000000ec025ff7b0: 000002d51ddc9000 00000000000000b6 -0x000000ec025ff7c0: 0000000000000003 000002d51ddc9000 -0x000000ec025ff7d0: 000002d51d779268 000002d51d779268 -0x000000ec025ff7e0: 000002d51d779268 000002d51d779268 -0x000000ec025ff7f0: 000002d51ddc9000 000002d51d779268 -0x000000ec025ff800: 000002d51ddc9000 000002d51d779268 -0x000000ec025ff810: 000002d51ddc9000 0000005b00000058 -0x000000ec025ff820: 000000b600000072 000000006ac50000 -0x000000ec025ff830: 00000000000000b6 0000000000000000 -0x000000ec025ff840: 0000000000000000 0000000000000072 -0x000000ec025ff850: 000000ec025ff9c0 0000000000000000 -0x000000ec025ff860: 0000000000000000 000000ec025ff9c8 -0x000000ec025ff870: 000002d51ddc9000 000002d51d779268 -0x000000ec025ff880: 0000000000000000 000000006abef64f -0x000000ec025ff890: 000000ec025ff8b0 000002d51fea87d8 -0x000000ec025ff8a0: 000002d507c50a01 000002d51d779268 - -Instructions: (pc=0x000000006abea148) -0x000000006abea128: 10 84 d2 74 0b 41 8b 45 31 f7 d0 48 63 c8 eb 05 -0x000000006abea138: 41 0f b7 4d 31 4c 8b 6d 67 48 c1 e1 05 49 03 c8 -0x000000006abea148: 48 8b 49 10 44 8b 75 f3 0f b6 c1 66 c1 e0 08 66 -0x000000006abea158: c1 e9 08 66 0b c1 66 41 89 44 24 01 84 d2 0f 84 - - -Register to memory mapping: - -RAX=0x000002d51d7786d0 is pointing into metadata -RBX=0x0000000000000003 is an unknown value -RCX=0x000002d51d8e2008 is an unknown value -RDX=0x000002d51d779200 is pointing into metadata -RSP=0x000000ec025ff7b0 is pointing into the stack for thread: 0x000002d51ddc9000 -RBP=0x000000ec025ff829 is pointing into the stack for thread: 0x000002d51ddc9000 -RSI=0x00000000000000b6 is an unknown value -RDI={method} {0x000002d51d779270} 'test' '()V' in 'com/markilue/leecode/listnode/MyLinkedList' -R8 =0x000002d51d779aa8 is pointing into metadata -R9 =0x00007ffedf820000 is an unknown value -R10=0x000002d51d779211 is pointing into metadata -R11=0x000002d51fea87d9 is an unknown value -R12=0x000002d51fea87d8 is an unknown value -R13=0x000000ec025ff8b0 is pointing into the stack for thread: 0x000002d51ddc9000 -R14=0x000000000000005b is an unknown value -R15=0x00000000000000b6 is an unknown value - - -Stack: [0x000000ec02500000,0x000000ec02600000], sp=0x000000ec025ff7b0, free space=1021k -Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) -V [jvm.dll+0x19a148] -V [jvm.dll+0x19f64f] -V [jvm.dll+0x3408eb] -C [jdwp.dll+0x4296] -C [jdwp.dll+0xef91] -C [jdwp.dll+0x1f4f5] -C [jdwp.dll+0x1f45e] -V [jvm.dll+0x1ba3aa] -V [jvm.dll+0x23df22] -V [jvm.dll+0x29253c] -C [ucrtbase.dll+0x21bb2] -C [KERNEL32.DLL+0x17034] -C [ntdll.dll+0x52651] - - ---------------- P R O C E S S --------------- - -Java Threads: ( => current thread ) - 0x000002d51fc40800 JavaThread "Service Thread" daemon [_thread_blocked, id=21716, stack(0x000000ec02c00000,0x000000ec02d00000)] - 0x000002d51fba9000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=14316, stack(0x000000ec02b00000,0x000000ec02c00000)] - 0x000002d51fb9e800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=19840, stack(0x000000ec02a00000,0x000000ec02b00000)] - 0x000002d51fb9d800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=16824, stack(0x000000ec02900000,0x000000ec02a00000)] - 0x000002d51fb9b000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=12300, stack(0x000000ec02800000,0x000000ec02900000)] - 0x000002d51faf3800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=2456, stack(0x000000ec02700000,0x000000ec02800000)] - 0x000002d51faf0800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=9096, stack(0x000000ec02600000,0x000000ec02700000)] -=>0x000002d51ddc9000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=19992, stack(0x000000ec02500000,0x000000ec02600000)] - 0x000002d51ddbc000 JavaThread "Attach Listener" daemon [_thread_blocked, id=18836, stack(0x000000ec02400000,0x000000ec02500000)] - 0x000002d51dd67800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=21684, stack(0x000000ec02300000,0x000000ec02400000)] - 0x000002d51dd39000 JavaThread "Finalizer" daemon [_thread_blocked, id=10800, stack(0x000000ec02200000,0x000000ec02300000)] - 0x000002d51dd30800 JavaThread "Reference Handler" daemon [_thread_blocked, id=21884, stack(0x000000ec02100000,0x000000ec02200000)] - 0x000002d507b9a800 JavaThread "main" [_thread_blocked, id=16780, stack(0x000000ec01700000,0x000000ec01800000)] - -Other Threads: - 0x000002d51dd06800 VMThread [stack: 0x000000ec02000000,0x000000ec02100000] [id=3664] - 0x000002d51fc59000 WatcherThread [stack: 0x000000ec02d00000,0x000000ec02e00000] [id=15732] - -VM state:not at safepoint (normal execution) - -VM Mutex/Monitor currently owned by a thread: None - -heap address: 0x0000000081c00000, size: 2020 MB, Compressed Oops mode: 32-bit -Narrow klass base: 0x0000000000000000, Narrow klass shift: 3 -Compressed class space size: 1073741824 Address: 0x0000000100000000 - -Heap: - PSYoungGen total 38400K, used 10018K [0x00000000d5f00000, 0x00000000d8980000, 0x0000000100000000) - eden space 33280K, 30% used [0x00000000d5f00000,0x00000000d68c8bd8,0x00000000d7f80000) - from space 5120K, 0% used [0x00000000d8480000,0x00000000d8480000,0x00000000d8980000) - to space 5120K, 0% used [0x00000000d7f80000,0x00000000d7f80000,0x00000000d8480000) - ParOldGen total 87552K, used 0K [0x0000000081c00000, 0x0000000087180000, 0x00000000d5f00000) - object space 87552K, 0% used [0x0000000081c00000,0x0000000081c00000,0x0000000087180000) - Metaspace used 5032K, capacity 5348K, committed 5504K, reserved 1056768K - class space used 579K, capacity 595K, committed 640K, reserved 1048576K - -Card table byte_map: [0x000002d518910000,0x000002d518d10000] byte_map_base: 0x000002d518502000 - -Marking Bits: (ParMarkBitMap*) 0x000000006b238030 - Begin Bits: [0x000002d518fc0000, 0x000002d51af50000) - End Bits: [0x000002d51af50000, 0x000002d51cee0000) - -Polling page: 0x000002d507cf0000 - -CodeCache: size=245760Kb used=1754Kb max_used=1771Kb free=244005Kb - bounds [0x000002d509550000, 0x000002d5097c0000, 0x000002d518550000] - total_blobs=523 nmethods=259 adapters=185 - compilation: enabled - -Compilation events (10 events): -Event: 0.989 Thread 0x000002d51fba9000 256 3 java.io.File::isInvalid (47 bytes) -Event: 0.989 Thread 0x000002d51fba9000 nmethod 256 0x000002d5096ffdd0 code [0x000002d5096fff40, 0x000002d509700390] -Event: 0.989 Thread 0x000002d51fb9e800 257 4 sun.misc.MetaIndex::mayContain (51 bytes) -Event: 0.991 Thread 0x000002d51fb9b000 nmethod 243 0x000002d509704390 code [0x000002d5097045c0, 0x000002d509705850] -Event: 0.994 Thread 0x000002d51fba9000 258 3 java.lang.Character::charCount (12 bytes) -Event: 0.994 Thread 0x000002d51fba9000 nmethod 258 0x000002d509704010 code [0x000002d509704160, 0x000002d5097042f8] -Event: 0.997 Thread 0x000002d51fb9e800 nmethod 257 0x000002d509706e10 code [0x000002d509706f60, 0x000002d509707498] -Event: 1.000 Thread 0x000002d51fba9000 259 1 java.nio.Buffer::limit (5 bytes) -Event: 1.000 Thread 0x000002d51fba9000 nmethod 259 0x000002d509703d50 code [0x000002d509703ea0, 0x000002d509703fb8] -Event: 1.017 Thread 0x000002d51fb9d800 nmethod 253 0x000002d50970a7d0 code [0x000002d50970aa80, 0x000002d50970c1a8] - -GC Heap History (0 events): -No events - -Deoptimization events (0 events): -No events - -Classes redefined (6 events): -Event: 120.821 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.MyLinkedList, count=1 -Event: 120.822 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.ListNode, count=1 -Event: 164.527 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.MyLinkedList, count=2 -Event: 164.528 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.ListNode, count=2 -Event: 308.152 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.MyLinkedList, count=3 -Event: 308.152 Thread 0x000002d51dd06800 redefined class name=com.markilue.leecode.listnode.ListNode, count=3 - -Internal exceptions (7 events): -Event: 0.110 Thread 0x000002d507b9a800 Exception (0x00000000d5f07cc0) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hot -Event: 0.110 Thread 0x000002d507b9a800 Exception (0x00000000d5f07fa8) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\ -Event: 0.817 Thread 0x000002d507b9a800 Exception (0x00000000d62ad468) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\prims\jni.cpp, line 710] -Event: 0.848 Thread 0x000002d507b9a800 Exception (0x00000000d638d038) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\prims\jvm.cpp, line 1523] -Event: 0.848 Thread 0x000002d507b9a800 Exception (0x00000000d638d430) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\prims\jvm.cpp, line 1523] -Event: 0.849 Thread 0x000002d507b9a800 Exception (0x00000000d638fb28) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\prims\jvm.cpp, line 1523] -Event: 0.849 Thread 0x000002d507b9a800 Exception (0x00000000d638ff20) thrown at [C:\jenkins\workspace\8-2-build-windows-amd64-cygwin\jdk8u311\1894\hotspot\src\share\vm\prims\jvm.cpp, line 1523] - -Events (10 events): -Event: 1527.523 Executing VM operation: GetOrSetLocal -Event: 1527.523 Executing VM operation: GetOrSetLocal done -Event: 1559.202 Executing VM operation: ChangeBreakpoints -Event: 1559.202 Executing VM operation: ChangeBreakpoints done -Event: 1559.805 Executing VM operation: ChangeBreakpoints -Event: 1559.805 Executing VM operation: ChangeBreakpoints done -Event: 1573.008 Executing VM operation: ChangeBreakpoints -Event: 1573.008 Executing VM operation: ChangeBreakpoints done -Event: 1581.175 Executing VM operation: ChangeBreakpoints -Event: 1581.176 Executing VM operation: ChangeBreakpoints done - - -Dynamic libraries: -0x00007ff61b6b0000 - 0x00007ff61b6f7000 E:\Java\JDK8\bin\java.exe -0x00007ffee8f90000 - 0x00007ffee9188000 C:\WINDOWS\SYSTEM32\ntdll.dll -0x00007ffee7cf0000 - 0x00007ffee7dad000 C:\WINDOWS\System32\KERNEL32.DLL -0x00007ffee6a20000 - 0x00007ffee6cee000 C:\WINDOWS\System32\KERNELBASE.dll -0x00007ffee8050000 - 0x00007ffee80fe000 C:\WINDOWS\System32\ADVAPI32.dll -0x00007ffee7560000 - 0x00007ffee75fe000 C:\WINDOWS\System32\msvcrt.dll -0x00007ffee8dd0000 - 0x00007ffee8e6c000 C:\WINDOWS\System32\sechost.dll -0x00007ffee8990000 - 0x00007ffee8ab5000 C:\WINDOWS\System32\RPCRT4.dll -0x00007ffee7eb0000 - 0x00007ffee8050000 C:\WINDOWS\System32\USER32.dll -0x00007ffee6880000 - 0x00007ffee68a2000 C:\WINDOWS\System32\win32u.dll -0x00007ffee8170000 - 0x00007ffee819a000 C:\WINDOWS\System32\GDI32.dll -0x00007ffee6e40000 - 0x00007ffee6f4b000 C:\WINDOWS\System32\gdi32full.dll -0x00007ffee6f50000 - 0x00007ffee6fed000 C:\WINDOWS\System32\msvcp_win.dll -0x00007ffee6cf0000 - 0x00007ffee6df0000 C:\WINDOWS\System32\ucrtbase.dll -0x00007ffed59c0000 - 0x00007ffed5c5a000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\COMCTL32.dll -0x00007ffee88f0000 - 0x00007ffee8920000 C:\WINDOWS\System32\IMM32.DLL -0x00007ffedf820000 - 0x00007ffedf835000 E:\Java\JDK8\jre\bin\vcruntime140.dll -0x00007ffebd920000 - 0x00007ffebd9bb000 E:\Java\JDK8\jre\bin\msvcp140.dll -0x000000006aa50000 - 0x000000006b2b0000 E:\Java\JDK8\jre\bin\server\jvm.dll -0x00007ffee7ce0000 - 0x00007ffee7ce8000 C:\WINDOWS\System32\PSAPI.DLL -0x00007ffed2a20000 - 0x00007ffed2a29000 C:\WINDOWS\SYSTEM32\WSOCK32.dll -0x00007ffed5e10000 - 0x00007ffed5e37000 C:\WINDOWS\SYSTEM32\WINMM.dll -0x00007ffedfb10000 - 0x00007ffedfb1a000 C:\WINDOWS\SYSTEM32\VERSION.dll -0x00007ffee8100000 - 0x00007ffee816b000 C:\WINDOWS\System32\WS2_32.dll -0x00007ffee4f90000 - 0x00007ffee4fa2000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll -0x00007ffee0460000 - 0x00007ffee0470000 E:\Java\JDK8\jre\bin\verify.dll -0x00007ffedf7f0000 - 0x00007ffedf81b000 E:\Java\JDK8\jre\bin\java.dll -0x00007ffedb7d0000 - 0x00007ffedb806000 E:\Java\JDK8\jre\bin\jdwp.dll -0x00007ffee1c90000 - 0x00007ffee1c99000 E:\Java\JDK8\jre\bin\npt.dll -0x00007ffedf8f0000 - 0x00007ffedf920000 E:\Java\JDK8\jre\bin\instrument.dll -0x00007ffedef10000 - 0x00007ffedef28000 E:\Java\JDK8\jre\bin\zip.dll -0x00007ffee81a0000 - 0x00007ffee88e4000 C:\WINDOWS\System32\SHELL32.dll -0x00007ffee4790000 - 0x00007ffee4f24000 C:\WINDOWS\SYSTEM32\windows.storage.dll -0x00007ffee6ff0000 - 0x00007ffee7344000 C:\WINDOWS\System32\combase.dll -0x00007ffee6110000 - 0x00007ffee6140000 C:\WINDOWS\SYSTEM32\Wldp.dll -0x00007ffee7a70000 - 0x00007ffee7b1d000 C:\WINDOWS\System32\SHCORE.dll -0x00007ffee7e30000 - 0x00007ffee7e85000 C:\WINDOWS\System32\shlwapi.dll -0x00007ffee65f0000 - 0x00007ffee660f000 C:\WINDOWS\SYSTEM32\profapi.dll -0x00007ffedf850000 - 0x00007ffedf85a000 E:\Java\JDK8\jre\bin\dt_socket.dll -0x00007ffee5e70000 - 0x00007ffee5eda000 C:\WINDOWS\system32\mswsock.dll -0x00007ffee44a0000 - 0x00007ffee4684000 C:\WINDOWS\SYSTEM32\dbghelp.dll -0x00007ffee68e0000 - 0x00007ffee6962000 C:\WINDOWS\System32\bcryptPrimitives.dll - -VM Arguments: -jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:5541,suspend=y,server=n -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:C:\Users\marklue\AppData\Local\JetBrains\IntelliJIdea2021.1\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -java_command: com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.markilue.leecode.listnode.MyLinkedList,test -java_class_path (initial): D:\software\JetBrains\IntelliJ IDEA 2021.1\lib\idea_rt.jar;D:\software\JetBrains\IntelliJ IDEA 2021.1\plugins\junit\lib\junit5-rt.jar;D:\software\JetBrains\IntelliJ IDEA 2021.1\plugins\junit\lib\junit-rt.jar;E:\Java\JDK8\jre\lib\charsets.jar;E:\Java\JDK8\jre\lib\deploy.jar;E:\Java\JDK8\jre\lib\ext\access-bridge-64.jar;E:\Java\JDK8\jre\lib\ext\cldrdata.jar;E:\Java\JDK8\jre\lib\ext\dnsns.jar;E:\Java\JDK8\jre\lib\ext\jaccess.jar;E:\Java\JDK8\jre\lib\ext\jfxrt.jar;E:\Java\JDK8\jre\lib\ext\localedata.jar;E:\Java\JDK8\jre\lib\ext\nashorn.jar;E:\Java\JDK8\jre\lib\ext\sunec.jar;E:\Java\JDK8\jre\lib\ext\sunjce_provider.jar;E:\Java\JDK8\jre\lib\ext\sunmscapi.jar;E:\Java\JDK8\jre\lib\ext\sunpkcs11.jar;E:\Java\JDK8\jre\lib\ext\zipfs.jar;E:\Java\JDK8\jre\lib\javaws.jar;E:\Java\JDK8\jre\lib\jce.jar;E:\Java\JDK8\jre\lib\jfr.jar;E:\Java\JDK8\jre\lib\jfxswt.jar;E:\Java\JDK8\jre\lib\jsse.jar;E:\Java\JDK8\jre\lib\management-agent.jar;E:\Java\JDK8\jre\lib\plugin.jar;E:\Java\JDK8\jre\lib\resources.jar;E:\Java\JDK8\jre\lib\rt.jar;D:\example\self_example\Leecode\target\classes;E:\maven\apache-maven-3.5.4-bin\RepMaven\org\projectlombok\lombok\1.18.24\lombok-1.18.24.jar;E:\maven\apache-maven-3.5.4-bin\RepMaven\junit\junit\4.13.2\junit-4.13.2.jar;E:\maven\apache-maven-3.5.4-bin\RepMaven\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\marklue\AppData\Local\JetBrains\IntelliJIdea2021.1\captureAgent\debugger-agent.jar -Launcher Type: SUN_STANDARD - -Environment Variables: -JAVA_HOME=E:\Java\JDK8 -PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\software\RAR解压工具\Bandizip\;D:\;oftware\nodejs\;E:\Java\JDK8\bin;E:\maven\apache-maven-3.5.4-bin\apache-maven-3.5.4\bin;E:\scala\scala-2.12.11\bin;D:\software\anaconda\pkgs\python-3.7.11-h6244533_0;D:\software\anaconda\Scripts;D:\software\Git\Git\cmd;D:\software\nodejs;C:\Users\marklue\AppData\Local\Microsoft\WindowsApps;C:\Users\marklue\AppData\Roaming\npm;D:\software\JetBrains\PyCharm 2020.1\bin; -USERNAME=marklue -OS=Windows_NT -PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 10, GenuineIntel - - - ---------------- S Y S T E M --------------- - -OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.1806) - -CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 142 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx - -Memory: 4k page, physical 8272104k(2053676k free), swap 11902816k(1707060k free) - -vm_info: Java HotSpot(TM) 64-Bit Server VM (25.311-b11) for windows-amd64 JRE (1.8.0_311-b11), built on Sep 27 2021 05:15:14 by "java_re" with MS VC++ 15.9 (VS2017) - -time: Mon Sep 5 12:31:48 2022 -timezone: 中国标准时间 -elapsed time: 1581.277238 seconds (0d 0h 26m 21s) - diff --git a/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/graph/LC_127_LadderLength.java b/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/graph/LC_127_LadderLength.java index ab4ec90..39298f9 100644 --- a/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/graph/LC_127_LadderLength.java +++ b/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/graph/LC_127_LadderLength.java @@ -143,6 +143,7 @@ public class LC_127_LadderLength { adjacent.add(new ArrayList<>()); for (int i = 0; i < wordList.size(); ++i) { String s = wordList.get(i); + //鏋勫缓鍥 for (int j = i + 1; j < wordList.size(); ++j) { if (judge(s, wordList.get(j))) { adjacent.get(i).add(j); @@ -153,6 +154,7 @@ public class LC_127_LadderLength { return bfs(wordList.size() - 1, endIndex, adjacent, new boolean[wordList.size()]); } + //i涓哄紑濮嬪鎵剧殑鍗曡瘝鐨刬ndex;j涓虹粨鏉熺殑鍗曡瘝鐨刬ndex private int bfs(int i, int j, List> adjacent, boolean[] visited) { int distance = 0; ArrayDeque queue = new ArrayDeque<>(); @@ -163,8 +165,8 @@ public class LC_127_LadderLength { for (int k = 0; k < size; ++k) { int v = queue.pollFirst(); visited[v] = true; - if (v == j) return distance; - List edges = adjacent.get(v); + if (v == j) return distance;//鎵惧埌浜 + List edges = adjacent.get(v);//鑾峰彇浠栫殑瀛愮煩闃垫尐涓亶鍘 for (int e : edges) { if (!visited[e]) { queue.addLast(e); diff --git a/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/listnode/LC_82_DeleteDuplicatesII.java b/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/listnode/LC_82_DeleteDuplicatesII.java index 88a4760..c7037fb 100644 --- a/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/listnode/LC_82_DeleteDuplicatesII.java +++ b/Leecode/src/main/java/com/markilue/leecode/hot100/interviewHot/listnode/LC_82_DeleteDuplicatesII.java @@ -78,4 +78,26 @@ public class LC_82_DeleteDuplicatesII { } + public ListNode deleteDuplicates3(ListNode head) { + if (head == null) return null; + ListNode fake = new ListNode(); + fake.next = head; + ListNode temp = fake; + + while (temp.next != null && temp.next.next != null) { + //鍙湁杩欐牱锛屾墠鑳芥湁閲嶅鐨,鎵嶉渶瑕佸垹闄 + if (temp.next.val == temp.next.next.val) { + ListNode tempNext = temp.next; + while (tempNext.next != null && tempNext.val == tempNext.next.val) { + tempNext = tempNext.next; + } + temp.next = tempNext.next; + } else { + temp = temp.next; + } + } + return fake.next; + + } + } diff --git a/Leecode/src/main/java/com/markilue/leecode/hot100/second/T34_75_SortColors.java b/Leecode/src/main/java/com/markilue/leecode/hot100/second/T34_75_SortColors.java index 77c29d1..f68b4d9 100644 --- a/Leecode/src/main/java/com/markilue/leecode/hot100/second/T34_75_SortColors.java +++ b/Leecode/src/main/java/com/markilue/leecode/hot100/second/T34_75_SortColors.java @@ -21,7 +21,7 @@ public class T34_75_SortColors { @Test public void test() { int[] nums = {2, 0, 2, 1, 1, 0}; - sortColors1(nums); + sortColors3(nums); System.out.println(Arrays.toString(nums)); } @@ -99,4 +99,28 @@ public class T34_75_SortColors { } + + + //涓夊埛 + public void sortColors3(int[] nums) { + + int index0 = 0; + int index1 = 0; + + for (int i = 0; i < nums.length; i++) { + if (nums[i] == 0) { + swap(nums, index0, i); + if (index0 < index1) {//浜ゆ崲鍒1浜嗭紝浜ゆ崲鍥炴潵 + swap(nums, index1, i); + } + index1++; + index0++; + } else if (nums[i] == 1) { + swap(nums, index1, i); + index1++; + } + + } + + } } diff --git a/Leecode/src/main/java/com/markilue/leecode/hot100/second/T55_146_LRUCache.java b/Leecode/src/main/java/com/markilue/leecode/hot100/second/T55_146_LRUCache.java index 873a1bd..2fad969 100644 --- a/Leecode/src/main/java/com/markilue/leecode/hot100/second/T55_146_LRUCache.java +++ b/Leecode/src/main/java/com/markilue/leecode/hot100/second/T55_146_LRUCache.java @@ -203,3 +203,106 @@ class LRUCache { } } + + +class LRUCache1 { + + public static void main(String[] args) { + LRUCache1 lRUCache = new LRUCache1(2); + lRUCache.put(1, 1); // 缂撳瓨鏄 {1=1} + lRUCache.put(2, 2); // 缂撳瓨鏄 {1=1, 2=2} + System.out.println(lRUCache.get(1)); // 杩斿洖 1 + lRUCache.put(3, 3); // 璇ユ搷浣滀細浣垮緱鍏抽敭瀛 2 浣滃簾锛岀紦瀛樻槸 {1=1, 3=3} + System.out.println(lRUCache.get(2)); // 杩斿洖 -1 (鏈壘鍒) + lRUCache.put(4, 4); // 璇ユ搷浣滀細浣垮緱鍏抽敭瀛 1 浣滃簾锛岀紦瀛樻槸 {4=4, 3=3} + System.out.println(lRUCache.get(1)); // 杩斿洖 -1 (鏈壘鍒) + System.out.println(lRUCache.get(3)); // 杩斿洖 3 + System.out.println(lRUCache.get(4)); // 杩斿洖 4 + } + + + Map cache; + int capacity; + int size; + Node head; + Node tail; + + + public LRUCache1(int capacity){ + this.capacity=capacity; + cache =new HashMap<>(); + size=0; + head =new Node(); + tail=new Node(); + head.next=tail; + tail.pre=head; + } + + + public int get(int key) { + Node node = cache.get(key); + if(node==null){ + return -1; + }else{ + //灏嗚鑺傜偣鎸埌澶撮儴 + deleteNode(node); + removeToHead(node); + return node.value; + } + + } + + public void put(int key, int value) { + Node node = cache.get(key); + if(node==null){ + //娌℃湁锛屽垯娣诲姞 + if(size==capacity){ + //婊′簡,鍒犻櫎 + cache.remove(tail.pre.key); + deleteNode(tail.pre); + size--; + } + Node newNode = new Node(key,value); + removeToHead(newNode); + cache.put(key,newNode); + size++; + }else{ + //鏇存柊,灏嗚鑺傜偣鎸埌澶撮儴 + node.value=value; + deleteNode(node); + removeToHead(node); + } + } + + private void deleteNode(Node node){ + node.pre.next=node.next; + node.next.pre=node.pre; + } + + private void removeToHead(Node node){ + node.next=head.next; + head.next.pre=node; + head.next=node; + node.pre=head; + } + + + class Node { + + int key; + int value; + Node pre; + Node next; + + public Node() { + } + + public Node(int key, int value) { + this.key = key; + this.value = value; + } + + + } +} + diff --git a/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/NestingDolls.java b/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/NestingDolls.java new file mode 100644 index 0000000..a98baf8 --- /dev/null +++ b/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/NestingDolls.java @@ -0,0 +1,90 @@ +package com.markilue.leecode.interview.meituan.T0415; + +import java.util.Arrays; +import java.util.Scanner; + +/** + *@BelongsProject: Leecode + *@BelongsPackage: com.markilue.leecode.interview.meituan.T0415 + *@Author: markilue + *@CreateTime: 2023-06-09 18:41 + *@Description: TODO + *@Version: 1.0 + */ +public class NestingDolls { + + + static int n; + static Doll[] dolls; + + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + n = in.nextInt(); + dolls = new Doll[n]; + for (int i = 0; i < n; ++i) { + int a = in.nextInt(), b = in.nextInt(), c = in.nextInt(); + dolls[i] = new Doll(a, b, c); + } + Arrays.sort(dolls);//鎸夋渶澶х┖闂存湁灏忓埌澶ф帓搴 + + int minCost = 0; + for (int i = 0; i < n; ++i) { + if (!dolls[i].used) { + int cost = insertDoll(i, dolls[i].b); + minCost += cost; + } + } + System.out.println(minCost); + + in.close(); + } + + // 灏嗙 i 涓濞冩彃鍏ュ唴閮ㄥぇ灏忎负 size 鐨勫濞冧腑 + static int insertDoll(int i, int size) { + dolls[i].used = true; + + int j = findSmallest(size); + if (j == -1) {//娌℃湁鎵惧埌鑳藉鏀惧湪閲岄潰鐨勶紝闇瑕侀噸鏂板紑杈 + dolls[i].minSize = size; + dolls[i].minCost = dolls[i].c * size;//鐢变簬閮芥斁涓嶈繘锛屾墍浠ユ渶灏忓煎氨鏄叏閮ㄧ殑 + return dolls[i].minCost; + } else { + int cost = insertDoll(j, dolls[i].a) + dolls[i].c * (size - dolls[j].a); + if (cost < dolls[i].minCost) { + dolls[i].minSize = size- dolls[j].a; + dolls[i].minCost = cost; + } + return cost; + } + } + + // 瀵绘壘鏈灏忕殑琚 size 鍗犳嵁鐨勭┖闂磋兘澶熷绾崇殑濂楀▋ + static int findSmallest(int size) { + int j = -1; + for (int i = 0; i < n; ++i) { + if (!dolls[i].used && dolls[i].a <= size) + if (j == -1 || dolls[i].minSize < dolls[j].minSize) j = i; + } + return j; + } + + static class Doll implements Comparable { + int a; + int b; + int c; + boolean used = false; // 鏄惁宸茬粡琚斁缃 + int minSize; // 鍗犳嵁鐨勬渶灏忓唴閮ㄧ┖闂 + int minCost; // 鏈灏忚姳璐 + + Doll(int a, int b, int c) { + this.a = a; + this.b = b; + this.c = c; + } + + @Override + public int compareTo(Doll other) { + return Integer.compare(a, other.a); + } + } +} diff --git a/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/Question4.java b/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/Question4.java new file mode 100644 index 0000000..3590667 --- /dev/null +++ b/Leecode/src/main/java/com/markilue/leecode/interview/meituan/T0415/Question4.java @@ -0,0 +1,92 @@ +package com.markilue.leecode.interview.meituan.T0415; + +import org.junit.Test; + +import java.util.*; + +/** + *@BelongsProject: Leecode + *@BelongsPackage: com.markilue.leecode.interview.meituan.T0415 + *@Author: markilue + *@CreateTime: 2023-06-09 13:11 + *@Description: + * TODO 灏忕編鐜╁濞: + * 灏忕編鏈杩戝枩娆笂浜嗙帺濂楀▋銆 + * 鍏蜂綋鐨勶紝灏忕編鏈 n 涓濞冿紝绗 i 涓濞冪殑澶у皬涓 ai锛屽唴閮ㄧ┖闂翠负 bi(bi鈮i)銆 + * 瀵逛簬涓や釜濂楀▋x,y锛 x鑳芥斁鍏涓綋涓斾粎褰揳x鈮y 锛屼笖鏀惧叆鍚庝細鍗犳嵁 y 澶у皬涓 ax 鐨勫唴閮ㄧ┖闂达紝鍗 y 鐨勫唴閮ㄧ┖闂村墿涓 by-ax锛 + * 姣忎釜濂楀▋鍙兘鏀惧湪鍙﹀鐨勪竴涓濞冨唴锛屾瘡涓濞冨唴閮ㄤ篃鍙兘鏀句竴涓濞冿紙褰撶劧鍐呴儴鏀剧殑杩欎釜濂楀▋鍙互鍐呴儴杩樻湁濂楀▋锛夈 + * 鏄剧劧濂楀▋鏄鐨勮秺澶氳秺濂斤紝浜庢槸灏忕編缁欐瘡涓濞冨畾涔変簡涓涓环鍊 ci锛 + * 濡傛灉濂楀畬涔嬪悗濂楀▋ i 杩樺墿 k 鐨勫唴閮ㄧ┖闂达紝灏忕編闇瑕佷粯鍑篶i*k 鐨勮姳璐癸紝鎬昏姳璐逛负鎵鏈夊濞冪殑鑺辫垂涔嬪拰锛岀幇鍦ㄥ皬缇庢兂鐭ラ亾鏈灏忕殑鑺辫垂涓哄灏 + *@Version: 1.0 + */ +public class Question4 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int n = sc.nextInt(); + int[] out = new int[n]; + int[] in = new int[n]; + int[] payment = new int[n]; + + for (int i = 0; i < n; i++) { + out[i] = sc.nextInt(); + } + for (int i = 0; i < n; i++) { + in[i] = sc.nextInt(); + } + for (int i = 0; i < n; i++) { + payment[i] = sc.nextInt(); + } + solve(out, in, payment); + } + + @Test + public void test() { + int[] out = {5, 4, 3}; + int[] in = {4, 2, 2}; + int[] payment = {3, 2, 1}; + solve(out, in, payment); + } + + //瀹樻柟鎬濊矾:鍙兘鏄敊鐨勶紝璐績鐨勬濊矾:灏藉彲鑳藉皢鑺辫垂澶х殑鍏堝~婊 + public static void solve(int[] out, int[] in, int[] payment) { + //鏋勯犳寜澶у皬鎺掑簭鐨勫濞 + List taoS1 = new ArrayList<>(); + List taoS2 = new ArrayList<>(); + for (int i = 0; i < out.length; i++) { + taoS1.add(new int[]{out[i], in[i], payment[i], i}); + taoS2.add(new int[]{out[i], in[i], payment[i], i}); + } + + Collections.sort(taoS1, ((o1, o2) -> o1[0] - o2[0]));//鎸夌┖闂存湁灏忓埌澶ф帓搴 + Collections.sort(taoS2, ((o1, o2) -> o1[2] - o2[2]));//鎸夎姳璐规帓搴 + + //鎸夌収绌洪棿澶у皬閬嶅巻,鎵惧埌鏈澶х殑鏈娇鐢ㄧ殑鏈澶х殑濂楀▋ + int n = out.length; + int rightThreshold = n - 1; + for (int i = n - 1; i >= 0; i--) { + int left = 0; + int right = rightThreshold; + int mid = (left + right + 1) >> 1;//鍥涜垗浜斿叆 + while (left < right) { + mid = (left + right + 1) >> 1; + if (taoS2.get(i)[1] >= taoS1.get(mid)[0]) left = mid;//褰撳墠鑺辫垂鏈澶х殑鑳借鏀惧叆;瀵绘壘鏇村ぇ鑳芥斁鍏ョ殑 + else left = mid + 1;//涓轰簡蹇熸敹鏁? + } + + if (taoS1.get(mid)[3] == taoS2.get(i)[3]) right--;//浣跨敤鐨勮嚜宸,閭d笉琛 + if (taoS2.get(i)[1] < taoS1.get(right)[0]) break;//褰撳墠浣嶇疆涓嶅彲鑳借鍏朵粬鐨勭偣鏀惧叆浜 + + taoS2.get(i)[1] -= taoS1.get(right)[0]; + rightThreshold = right - 1; + } + + int result = 0; + for (int[] total : taoS2) { + result += total[1] * total[2]; + } + System.out.println(result); + + + } +}