zcw-shared 1.21.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/functions/algorithm/binarySearch.d.ts +3 -0
- package/dist/functions/algorithm/binarySearch.js +58 -0
- package/dist/functions/algorithm/binarySearch.js.map +1 -0
- package/dist/functions/algorithm/canJump.d.ts +2 -0
- package/dist/functions/algorithm/canJump.js +27 -0
- package/dist/functions/algorithm/canJump.js.map +1 -0
- package/dist/functions/algorithm/climbStairs.d.ts +2 -0
- package/dist/functions/algorithm/climbStairs.js +27 -0
- package/dist/functions/algorithm/climbStairs.js.map +1 -0
- package/dist/functions/algorithm/coinChange.d.ts +2 -0
- package/dist/functions/algorithm/coinChange.js +25 -0
- package/dist/functions/algorithm/coinChange.js.map +1 -0
- package/dist/functions/algorithm/combinationSum.d.ts +1 -0
- package/dist/functions/algorithm/combinationSum.js +24 -0
- package/dist/functions/algorithm/combinationSum.js.map +1 -0
- package/dist/functions/algorithm/editDistance.d.ts +2 -0
- package/dist/functions/algorithm/editDistance.js +96 -0
- package/dist/functions/algorithm/editDistance.js.map +1 -0
- package/dist/functions/algorithm/generateParenthesis.d.ts +1 -0
- package/dist/functions/algorithm/generateParenthesis.js +18 -0
- package/dist/functions/algorithm/generateParenthesis.js.map +1 -0
- package/dist/functions/algorithm/kmp.d.ts +2 -0
- package/dist/functions/algorithm/kmp.js +58 -0
- package/dist/functions/algorithm/kmp.js.map +1 -0
- package/dist/functions/algorithm/knapsack01.d.ts +2 -0
- package/dist/functions/algorithm/knapsack01.js +34 -0
- package/dist/functions/algorithm/knapsack01.js.map +1 -0
- package/dist/functions/algorithm/lengthOfLongestSubstring.d.ts +2 -0
- package/dist/functions/algorithm/lengthOfLongestSubstring.js +33 -0
- package/dist/functions/algorithm/lengthOfLongestSubstring.js.map +1 -0
- package/dist/functions/algorithm/longestCommonSubsequence.d.ts +2 -0
- package/dist/functions/algorithm/longestCommonSubsequence.js +37 -0
- package/dist/functions/algorithm/longestCommonSubsequence.js.map +1 -0
- package/dist/functions/algorithm/longestIncreasingSubsequence.d.ts +2 -0
- package/dist/functions/algorithm/longestIncreasingSubsequence.js +49 -0
- package/dist/functions/algorithm/longestIncreasingSubsequence.js.map +1 -0
- package/dist/functions/algorithm/maxArea.d.ts +1 -0
- package/dist/functions/algorithm/maxArea.js +19 -0
- package/dist/functions/algorithm/maxArea.js.map +1 -0
- package/dist/functions/algorithm/maxProfit.d.ts +2 -0
- package/dist/functions/algorithm/maxProfit.js +23 -0
- package/dist/functions/algorithm/maxProfit.js.map +1 -0
- package/dist/functions/algorithm/meetingRooms.d.ts +6 -0
- package/dist/functions/algorithm/meetingRooms.js +31 -0
- package/dist/functions/algorithm/meetingRooms.js.map +1 -0
- package/dist/functions/algorithm/mergeSort.d.ts +2 -0
- package/dist/functions/algorithm/mergeSort.js +72 -0
- package/dist/functions/algorithm/mergeSort.js.map +1 -0
- package/dist/functions/algorithm/minPathSum.d.ts +2 -0
- package/dist/functions/algorithm/minPathSum.js +39 -0
- package/dist/functions/algorithm/minPathSum.js.map +1 -0
- package/dist/functions/algorithm/minWindow.d.ts +1 -0
- package/dist/functions/algorithm/minWindow.js +40 -0
- package/dist/functions/algorithm/minWindow.js.map +1 -0
- package/dist/functions/algorithm/nQueens.d.ts +1 -0
- package/dist/functions/algorithm/nQueens.js +30 -0
- package/dist/functions/algorithm/nQueens.js.map +1 -0
- package/dist/functions/algorithm/numIslands.d.ts +2 -0
- package/dist/functions/algorithm/numIslands.js +59 -0
- package/dist/functions/algorithm/numIslands.js.map +1 -0
- package/dist/functions/algorithm/permutations.d.ts +1 -0
- package/dist/functions/algorithm/permutations.js +22 -0
- package/dist/functions/algorithm/permutations.js.map +1 -0
- package/dist/functions/algorithm/quickSort.d.ts +3 -0
- package/dist/functions/algorithm/quickSort.js +68 -0
- package/dist/functions/algorithm/quickSort.js.map +1 -0
- package/dist/functions/algorithm/rabinKarp.d.ts +1 -0
- package/dist/functions/algorithm/rabinKarp.js +40 -0
- package/dist/functions/algorithm/rabinKarp.js.map +1 -0
- package/dist/functions/algorithm/taskScheduler.d.ts +1 -0
- package/dist/functions/algorithm/taskScheduler.js +15 -0
- package/dist/functions/algorithm/taskScheduler.js.map +1 -0
- package/dist/functions/algorithm/threeSum.d.ts +2 -0
- package/dist/functions/algorithm/threeSum.js +56 -0
- package/dist/functions/algorithm/threeSum.js.map +1 -0
- package/dist/functions/algorithm/topologicalSort.d.ts +6 -0
- package/dist/functions/algorithm/topologicalSort.js +68 -0
- package/dist/functions/algorithm/topologicalSort.js.map +1 -0
- package/dist/functions/algorithm/trap.d.ts +2 -0
- package/dist/functions/algorithm/trap.js +51 -0
- package/dist/functions/algorithm/trap.js.map +1 -0
- package/dist/functions/array-object/chunk.d.ts +1 -0
- package/dist/functions/array-object/chunk.js +11 -0
- package/dist/functions/array-object/chunk.js.map +1 -0
- package/dist/functions/array-object/evolve.d.ts +3 -0
- package/dist/functions/array-object/evolve.js +15 -0
- package/dist/functions/array-object/evolve.js.map +1 -0
- package/dist/functions/array-object/flattenObject.d.ts +5 -0
- package/dist/functions/array-object/flattenObject.js +102 -0
- package/dist/functions/array-object/flattenObject.js.map +1 -0
- package/dist/functions/array-object/groupBy.d.ts +1 -0
- package/dist/functions/array-object/groupBy.js +14 -0
- package/dist/functions/array-object/groupBy.js.map +1 -0
- package/dist/functions/array-object/omit.d.ts +1 -0
- package/dist/functions/array-object/omit.js +8 -0
- package/dist/functions/array-object/omit.js.map +1 -0
- package/dist/functions/array-object/pick.d.ts +1 -0
- package/dist/functions/array-object/pick.js +10 -0
- package/dist/functions/array-object/pick.js.map +1 -0
- package/dist/functions/array-object/shuffle.d.ts +1 -0
- package/dist/functions/array-object/shuffle.js +9 -0
- package/dist/functions/array-object/shuffle.js.map +1 -0
- package/dist/functions/array-object/sortBy.d.ts +1 -0
- package/dist/functions/array-object/sortBy.js +13 -0
- package/dist/functions/array-object/sortBy.js.map +1 -0
- package/dist/functions/async/cachedAsync.d.ts +27 -0
- package/dist/functions/async/cachedAsync.js +123 -0
- package/dist/functions/async/cachedAsync.js.map +1 -0
- package/dist/functions/async/promiseLimit.d.ts +10 -0
- package/dist/functions/async/promiseLimit.js +125 -0
- package/dist/functions/async/promiseLimit.js.map +1 -0
- package/dist/functions/async/retryWithBackoff.d.ts +12 -0
- package/dist/functions/async/retryWithBackoff.js +29 -0
- package/dist/functions/async/retryWithBackoff.js.map +1 -0
- package/dist/functions/browser/detectBrowser.d.ts +39 -0
- package/dist/functions/browser/detectBrowser.js +193 -0
- package/dist/functions/browser/detectBrowser.js.map +1 -0
- package/dist/functions/browser/detectOS.d.ts +5 -0
- package/dist/functions/browser/detectOS.js +20 -0
- package/dist/functions/browser/detectOS.js.map +1 -0
- package/dist/functions/browser/isMobile.d.ts +6 -0
- package/dist/functions/browser/isMobile.js +5 -0
- package/dist/functions/browser/isMobile.js.map +1 -0
- package/dist/functions/data-structures/AVLTree.d.ts +19 -0
- package/dist/functions/data-structures/AVLTree.js +197 -0
- package/dist/functions/data-structures/AVLTree.js.map +1 -0
- package/dist/functions/data-structures/BinarySearchTree.d.ts +19 -0
- package/dist/functions/data-structures/BinarySearchTree.js +150 -0
- package/dist/functions/data-structures/BinarySearchTree.js.map +1 -0
- package/dist/functions/data-structures/Graph.d.ts +19 -0
- package/dist/functions/data-structures/Graph.js +190 -0
- package/dist/functions/data-structures/Graph.js.map +1 -0
- package/dist/functions/data-structures/HashMap.d.ts +13 -0
- package/dist/functions/data-structures/HashMap.js +128 -0
- package/dist/functions/data-structures/HashMap.js.map +1 -0
- package/dist/functions/data-structures/LRUCache.d.ts +41 -0
- package/dist/functions/data-structures/LRUCache.js +182 -0
- package/dist/functions/data-structures/LRUCache.js.map +1 -0
- package/dist/functions/data-structures/Trie.d.ts +16 -0
- package/dist/functions/data-structures/Trie.js +127 -0
- package/dist/functions/data-structures/Trie.js.map +1 -0
- package/dist/functions/data-structures/UnionFind.d.ts +8 -0
- package/dist/functions/data-structures/UnionFind.js +53 -0
- package/dist/functions/data-structures/UnionFind.js.map +1 -0
- package/dist/functions/date/dateRange.d.ts +1 -0
- package/dist/functions/date/dateRange.js +18 -0
- package/dist/functions/date/dateRange.js.map +1 -0
- package/dist/functions/date/formatDate.d.ts +1 -0
- package/dist/functions/date/formatDate.js +21 -0
- package/dist/functions/date/formatDate.js.map +1 -0
- package/dist/functions/date/timeAgo.d.ts +1 -0
- package/dist/functions/date/timeAgo.js +49 -0
- package/dist/functions/date/timeAgo.js.map +1 -0
- package/dist/functions/file/formatFileSize.d.ts +1 -0
- package/dist/functions/file/formatFileSize.js +16 -0
- package/dist/functions/file/formatFileSize.js.map +1 -0
- package/dist/functions/file/getFileExtension.d.ts +5 -0
- package/dist/functions/file/getFileExtension.js +18 -0
- package/dist/functions/file/getFileExtension.js.map +1 -0
- package/dist/functions/functional/cond.d.ts +1 -0
- package/dist/functions/functional/cond.js +15 -0
- package/dist/functions/functional/cond.js.map +1 -0
- package/dist/functions/functional/curryAdvanced.d.ts +8 -0
- package/dist/functions/functional/curryAdvanced.js +87 -0
- package/dist/functions/functional/curryAdvanced.js.map +1 -0
- package/dist/functions/functional/flow.d.ts +1 -0
- package/dist/functions/functional/flow.js +14 -0
- package/dist/functions/functional/flow.js.map +1 -0
- package/dist/functions/functional/partial.d.ts +1 -0
- package/dist/functions/functional/partial.js +13 -0
- package/dist/functions/functional/partial.js.map +1 -0
- package/dist/functions/functional/tap.d.ts +1 -0
- package/dist/functions/functional/tap.js +14 -0
- package/dist/functions/functional/tap.js.map +1 -0
- package/dist/functions/functional/until.d.ts +1 -0
- package/dist/functions/functional/until.js +10 -0
- package/dist/functions/functional/until.js.map +1 -0
- package/dist/functions/math/average.d.ts +1 -0
- package/dist/functions/math/average.js +8 -0
- package/dist/functions/math/average.js.map +1 -0
- package/dist/functions/math/median.d.ts +1 -0
- package/dist/functions/math/median.js +14 -0
- package/dist/functions/math/median.js.map +1 -0
- package/dist/functions/math/percentile.d.ts +1 -0
- package/dist/functions/math/percentile.js +18 -0
- package/dist/functions/math/percentile.js.map +1 -0
- package/dist/functions/math/sum.d.ts +1 -0
- package/dist/functions/math/sum.js +4 -0
- package/dist/functions/math/sum.js.map +1 -0
- package/dist/functions/number/clamp.d.ts +1 -0
- package/dist/functions/number/clamp.js +7 -0
- package/dist/functions/number/clamp.js.map +1 -0
- package/dist/functions/number/formatNumber.d.ts +8 -0
- package/dist/functions/number/formatNumber.js +16 -0
- package/dist/functions/number/formatNumber.js.map +1 -0
- package/dist/functions/number/random.d.ts +4 -0
- package/dist/functions/number/random.js +9 -0
- package/dist/functions/number/random.js.map +1 -0
- package/dist/functions/number/range.d.ts +1 -0
- package/dist/functions/number/range.js +18 -0
- package/dist/functions/number/range.js.map +1 -0
- package/dist/functions/patterns/EventEmitter.d.ts +32 -0
- package/dist/functions/patterns/EventEmitter.js +108 -0
- package/dist/functions/patterns/EventEmitter.js.map +1 -0
- package/dist/functions/patterns/adapter.d.ts +8 -0
- package/dist/functions/patterns/adapter.js +14 -0
- package/dist/functions/patterns/adapter.js.map +1 -0
- package/dist/functions/patterns/builder.d.ts +9 -0
- package/dist/functions/patterns/builder.js +28 -0
- package/dist/functions/patterns/builder.js.map +1 -0
- package/dist/functions/patterns/chainOfResponsibility.d.ts +9 -0
- package/dist/functions/patterns/chainOfResponsibility.js +19 -0
- package/dist/functions/patterns/chainOfResponsibility.js.map +1 -0
- package/dist/functions/patterns/command.d.ts +15 -0
- package/dist/functions/patterns/command.js +49 -0
- package/dist/functions/patterns/command.js.map +1 -0
- package/dist/functions/patterns/decorator.d.ts +10 -0
- package/dist/functions/patterns/decorator.js +72 -0
- package/dist/functions/patterns/decorator.js.map +1 -0
- package/dist/functions/patterns/factory.d.ts +8 -0
- package/dist/functions/patterns/factory.js +25 -0
- package/dist/functions/patterns/factory.js.map +1 -0
- package/dist/functions/patterns/observer.d.ts +19 -0
- package/dist/functions/patterns/observer.js +89 -0
- package/dist/functions/patterns/observer.js.map +1 -0
- package/dist/functions/patterns/prototype.d.ts +4 -0
- package/dist/functions/patterns/prototype.js +30 -0
- package/dist/functions/patterns/prototype.js.map +1 -0
- package/dist/functions/patterns/proxy.d.ts +8 -0
- package/dist/functions/patterns/proxy.js +41 -0
- package/dist/functions/patterns/proxy.js.map +1 -0
- package/dist/functions/patterns/singleton.d.ts +11 -0
- package/dist/functions/patterns/singleton.js +32 -0
- package/dist/functions/patterns/singleton.js.map +1 -0
- package/dist/functions/patterns/strategy.d.ts +12 -0
- package/dist/functions/patterns/strategy.js +34 -0
- package/dist/functions/patterns/strategy.js.map +1 -0
- package/dist/functions/patterns/templateMethod.d.ts +8 -0
- package/dist/functions/patterns/templateMethod.js +19 -0
- package/dist/functions/patterns/templateMethod.js.map +1 -0
- package/dist/functions/patterns/usePluginSystem.d.ts +11 -0
- package/dist/functions/patterns/usePluginSystem.js +34 -0
- package/dist/functions/patterns/usePluginSystem.js.map +1 -0
- package/dist/functions/performance/once.d.ts +1 -0
- package/dist/functions/performance/once.js +13 -0
- package/dist/functions/performance/once.js.map +1 -0
- package/dist/functions/performance/useCache.d.ts +18 -0
- package/dist/functions/performance/useCache.js +82 -0
- package/dist/functions/performance/useCache.js.map +1 -0
- package/dist/functions/principles/MyPromise.d.ts +32 -0
- package/dist/functions/principles/MyPromise.js +254 -0
- package/dist/functions/principles/MyPromise.js.map +1 -0
- package/dist/functions/promise/sleep.d.ts +5 -0
- package/dist/functions/promise/sleep.js +6 -0
- package/dist/functions/promise/sleep.js.map +1 -0
- package/dist/functions/promise/timeout.d.ts +6 -0
- package/dist/functions/promise/timeout.js +12 -0
- package/dist/functions/promise/timeout.js.map +1 -0
- package/dist/functions/storage/useLocalStorage.d.ts +8 -0
- package/dist/functions/storage/useLocalStorage.js +101 -0
- package/dist/functions/storage/useLocalStorage.js.map +1 -0
- package/dist/functions/storage/useSessionStorage.d.ts +8 -0
- package/dist/functions/storage/useSessionStorage.js +101 -0
- package/dist/functions/storage/useSessionStorage.js.map +1 -0
- package/dist/functions/storage/useStorage.d.ts +13 -0
- package/dist/functions/storage/useStorage.js +62 -0
- package/dist/functions/storage/useStorage.js.map +1 -0
- package/dist/functions/storage/useStorageWithIndexedDB.d.ts +8 -0
- package/dist/functions/storage/useStorageWithIndexedDB.js +132 -0
- package/dist/functions/storage/useStorageWithIndexedDB.js.map +1 -0
- package/dist/functions/tencent-cloud/upload.cos.d.ts +20 -0
- package/dist/functions/tencent-cloud/upload.cos.js +119 -0
- package/dist/functions/tencent-cloud/upload.cos.js.map +1 -0
- package/dist/functions/tree/buildTree.d.ts +7 -0
- package/dist/functions/tree/buildTree.js +27 -0
- package/dist/functions/tree/buildTree.js.map +1 -0
- package/dist/functions/tree/filterTree.d.ts +4 -0
- package/dist/functions/tree/filterTree.js +21 -0
- package/dist/functions/tree/filterTree.js.map +1 -0
- package/dist/functions/tree/findNode.d.ts +4 -0
- package/dist/functions/tree/findNode.js +21 -0
- package/dist/functions/tree/findNode.js.map +1 -0
- package/dist/functions/tree/flattenTree.d.ts +6 -0
- package/dist/functions/tree/flattenTree.js +21 -0
- package/dist/functions/tree/flattenTree.js.map +1 -0
- package/dist/functions/url/buildQueryString.d.ts +5 -0
- package/dist/functions/url/buildQueryString.js +15 -0
- package/dist/functions/url/buildQueryString.js.map +1 -0
- package/dist/functions/url/parseUrl.d.ts +11 -0
- package/dist/functions/url/parseUrl.js +34 -0
- package/dist/functions/url/parseUrl.js.map +1 -0
- package/dist/functions/utils/cachedAsync.d.ts +27 -0
- package/dist/functions/utils/cachedAsync.js +123 -0
- package/dist/functions/utils/cachedAsync.js.map +1 -0
- package/dist/functions/utils/errorManager.d.ts +63 -0
- package/dist/functions/utils/errorManager.js +199 -0
- package/dist/functions/utils/errorManager.js.map +1 -0
- package/dist/functions/utils/useAltool.d.ts +39 -0
- package/dist/functions/utils/useAltool.js +350 -0
- package/dist/functions/utils/useAltool.js.map +1 -0
- package/dist/functions/utils/vueDiff.d.ts +38 -0
- package/dist/functions/utils/vueDiff.js +333 -0
- package/dist/functions/utils/vueDiff.js.map +1 -0
- package/dist/functions/validation/isEmail.d.ts +1 -0
- package/dist/functions/validation/isEmail.js +8 -0
- package/dist/functions/validation/isEmail.js.map +1 -0
- package/dist/functions/validation/isIdCard.d.ts +1 -0
- package/dist/functions/validation/isIdCard.js +49 -0
- package/dist/functions/validation/isIdCard.js.map +1 -0
- package/dist/functions/validation/isIpAddress.d.ts +1 -0
- package/dist/functions/validation/isIpAddress.js +15 -0
- package/dist/functions/validation/isIpAddress.js.map +1 -0
- package/dist/functions/validation/isPhone.d.ts +1 -0
- package/dist/functions/validation/isPhone.js +12 -0
- package/dist/functions/validation/isPhone.js.map +1 -0
- package/dist/functions/validation/isUrl.d.ts +5 -0
- package/dist/functions/validation/isUrl.js +33 -0
- package/dist/functions/validation/isUrl.js.map +1 -0
- package/dist/reactive/createReactive.d.ts +10 -0
- package/dist/reactive/createReactive.js +50 -0
- package/dist/reactive/createReactive.js.map +1 -0
- package/dist/reactive/createReactiveErrorManager.d.ts +63 -0
- package/dist/reactive/createReactiveErrorManager.js +199 -0
- package/dist/reactive/createReactiveErrorManager.js.map +1 -0
- package/dist/reactive/createReactiveI18n.d.ts +27 -0
- package/dist/reactive/createReactiveI18n.js +119 -0
- package/dist/reactive/createReactiveI18n.js.map +1 -0
- package/dist/reactive/createReactivePermission.d.ts +40 -0
- package/dist/reactive/createReactivePermission.js +189 -0
- package/dist/reactive/createReactivePermission.js.map +1 -0
- package/dist/reactive/createReactivePinia.d.ts +52 -0
- package/dist/reactive/createReactivePinia.js +183 -0
- package/dist/reactive/createReactivePinia.js.map +1 -0
- package/dist/reactive/useReactiveCookie.d.ts +19 -0
- package/dist/reactive/useReactiveCookie.js +84 -0
- package/dist/reactive/useReactiveCookie.js.map +1 -0
- package/dist/vue-hooks/browser/useBattery.d.ts +16 -0
- package/dist/vue-hooks/browser/useBattery.js +70 -0
- package/dist/vue-hooks/browser/useBattery.js.map +1 -0
- package/dist/vue-hooks/browser/useBluetooth.d.ts +25 -0
- package/dist/vue-hooks/browser/useBluetooth.js +72 -0
- package/dist/vue-hooks/browser/useBluetooth.js.map +1 -0
- package/dist/vue-hooks/browser/useCamera.d.ts +21 -0
- package/dist/vue-hooks/browser/useCamera.js +52 -0
- package/dist/vue-hooks/browser/useCamera.js.map +1 -0
- package/dist/vue-hooks/browser/useClipboard.d.ts +18 -0
- package/dist/vue-hooks/browser/useClipboard.js +33 -0
- package/dist/vue-hooks/browser/useClipboard.js.map +1 -0
- package/dist/vue-hooks/browser/useFullscreen.d.ts +20 -0
- package/dist/vue-hooks/browser/useFullscreen.js +73 -0
- package/dist/vue-hooks/browser/useFullscreen.js.map +1 -0
- package/dist/vue-hooks/browser/useGamepad.d.ts +25 -0
- package/dist/vue-hooks/browser/useGamepad.js +69 -0
- package/dist/vue-hooks/browser/useGamepad.js.map +1 -0
- package/dist/vue-hooks/browser/useGeolocation.d.ts +24 -0
- package/dist/vue-hooks/browser/useGeolocation.js +85 -0
- package/dist/vue-hooks/browser/useGeolocation.js.map +1 -0
- package/dist/vue-hooks/browser/useMediaSession.d.ts +19 -0
- package/dist/vue-hooks/browser/useMediaSession.js +71 -0
- package/dist/vue-hooks/browser/useMediaSession.js.map +1 -0
- package/dist/vue-hooks/browser/useMicrophone.d.ts +23 -0
- package/dist/vue-hooks/browser/useMicrophone.js +66 -0
- package/dist/vue-hooks/browser/useMicrophone.js.map +1 -0
- package/dist/vue-hooks/browser/useNetwork.d.ts +23 -0
- package/dist/vue-hooks/browser/useNetwork.js +57 -0
- package/dist/vue-hooks/browser/useNetwork.js.map +1 -0
- package/dist/vue-hooks/browser/useOrientation.d.ts +22 -0
- package/dist/vue-hooks/browser/useOrientation.js +54 -0
- package/dist/vue-hooks/browser/useOrientation.js.map +1 -0
- package/dist/vue-hooks/browser/usePageVisibility.d.ts +15 -0
- package/dist/vue-hooks/browser/usePageVisibility.js +25 -0
- package/dist/vue-hooks/browser/usePageVisibility.js.map +1 -0
- package/dist/vue-hooks/browser/useScreenOrientation.d.ts +24 -0
- package/dist/vue-hooks/browser/useScreenOrientation.js +67 -0
- package/dist/vue-hooks/browser/useScreenOrientation.js.map +1 -0
- package/dist/vue-hooks/browser/useScreenWakeLock.d.ts +15 -0
- package/dist/vue-hooks/browser/useScreenWakeLock.js +57 -0
- package/dist/vue-hooks/browser/useScreenWakeLock.js.map +1 -0
- package/dist/vue-hooks/browser/useShare.d.ts +21 -0
- package/dist/vue-hooks/browser/useShare.js +39 -0
- package/dist/vue-hooks/browser/useShare.js.map +1 -0
- package/dist/vue-hooks/browser/useVibration.d.ts +17 -0
- package/dist/vue-hooks/browser/useVibration.js +40 -0
- package/dist/vue-hooks/browser/useVibration.js.map +1 -0
- package/dist/vue-hooks/dom/useClickOutside.d.ts +9 -0
- package/dist/vue-hooks/dom/useClickOutside.js +16 -0
- package/dist/vue-hooks/dom/useClickOutside.js.map +1 -0
- package/dist/vue-hooks/dom/useDraggable.d.ts +33 -0
- package/dist/vue-hooks/dom/useDraggable.js +163 -0
- package/dist/vue-hooks/dom/useDraggable.js.map +1 -0
- package/dist/vue-hooks/dom/useEventListener.d.ts +11 -0
- package/dist/vue-hooks/dom/useEventListener.js +18 -0
- package/dist/vue-hooks/dom/useEventListener.js.map +1 -0
- package/dist/vue-hooks/dom/useResizable.d.ts +50 -0
- package/dist/vue-hooks/dom/useResizable.js +178 -0
- package/dist/vue-hooks/dom/useResizable.js.map +1 -0
- package/dist/vue-hooks/history/useDebouncedRefHistory.d.ts +17 -0
- package/dist/vue-hooks/history/useDebouncedRefHistory.js +46 -0
- package/dist/vue-hooks/history/useDebouncedRefHistory.js.map +1 -0
- package/dist/vue-hooks/history/useManualRefHistory.d.ts +26 -0
- package/dist/vue-hooks/history/useManualRefHistory.js +80 -0
- package/dist/vue-hooks/history/useManualRefHistory.js.map +1 -0
- package/dist/vue-hooks/history/useRefHistory.d.ts +15 -0
- package/dist/vue-hooks/history/useRefHistory.js +41 -0
- package/dist/vue-hooks/history/useRefHistory.js.map +1 -0
- package/dist/vue-hooks/state/createGlobalState.d.ts +2 -0
- package/dist/vue-hooks/state/createGlobalState.js +11 -0
- package/dist/vue-hooks/state/createGlobalState.js.map +1 -0
- package/dist/vue-hooks/state/createInjectionState.d.ts +10 -0
- package/dist/vue-hooks/state/createInjectionState.js +20 -0
- package/dist/vue-hooks/state/createInjectionState.js.map +1 -0
- package/dist/vue-hooks/state/createSharedComposable.d.ts +2 -0
- package/dist/vue-hooks/state/createSharedComposable.js +13 -0
- package/dist/vue-hooks/state/createSharedComposable.js.map +1 -0
- package/dist/vue-hooks/state/injectLocal.d.ts +8 -0
- package/dist/vue-hooks/state/injectLocal.js +12 -0
- package/dist/vue-hooks/state/injectLocal.js.map +1 -0
- package/dist/vue-hooks/state/provideLocal.d.ts +7 -0
- package/dist/vue-hooks/state/provideLocal.js +7 -0
- package/dist/vue-hooks/state/provideLocal.js.map +1 -0
- package/dist/vue-hooks/state/useAsyncState.d.ts +27 -0
- package/dist/vue-hooks/state/useAsyncState.js +46 -0
- package/dist/vue-hooks/state/useAsyncState.js.map +1 -0
- package/dist/vue-hooks/state/useCounter.d.ts +17 -0
- package/dist/vue-hooks/state/useCounter.js +44 -0
- package/dist/vue-hooks/state/useCounter.js.map +1 -0
- package/dist/vue-hooks/state/useToggle.d.ts +13 -0
- package/dist/vue-hooks/state/useToggle.js +23 -0
- package/dist/vue-hooks/state/useToggle.js.map +1 -0
- package/dist/vue-hooks/time/useInterval.d.ts +16 -0
- package/dist/vue-hooks/time/useInterval.js +33 -0
- package/dist/vue-hooks/time/useInterval.js.map +1 -0
- package/dist/vue-hooks/time/useTimeout.d.ts +17 -0
- package/dist/vue-hooks/time/useTimeout.js +40 -0
- package/dist/vue-hooks/time/useTimeout.js.map +1 -0
- package/dist/vue-hooks/worker/useWebWorker.d.ts +25 -0
- package/dist/vue-hooks/worker/useWebWorker.js +207 -0
- package/dist/vue-hooks/worker/useWebWorker.js.map +1 -0
- package/dist/vue-hooks/worker/useWorkerFunction.d.ts +26 -0
- package/dist/vue-hooks/worker/useWorkerFunction.js +191 -0
- package/dist/vue-hooks/worker/useWorkerFunction.js.map +1 -0
- package/dist/vue-hooks/worker/useWorkerPool.d.ts +33 -0
- package/dist/vue-hooks/worker/useWorkerPool.js +247 -0
- package/dist/vue-hooks/worker/useWorkerPool.js.map +1 -0
- package/package.json +169 -64
- package/references/browser.d.ts +12 -0
- package/references/device.d.ts +340 -0
- package/references/dom.d.ts +31 -6
- package/references/node.d.ts +2 -0
- package/references/tencent-cloud.d.ts +38 -0
- package/types/algorithm-visual.d.ts +79 -0
- package/types/algorithm.d.ts +85 -0
- package/types/tencent-cloud.d.ts +29 -0
- package/types/vue.d.ts +22 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function binarySearch(nums, target) {
|
|
2
|
+
let left = 0;
|
|
3
|
+
let right = nums.length - 1;
|
|
4
|
+
while (left <= right) {
|
|
5
|
+
const mid = Math.floor((left + right) / 2);
|
|
6
|
+
if (nums[mid] === target) {
|
|
7
|
+
return mid;
|
|
8
|
+
}
|
|
9
|
+
else if (nums[mid] < target) {
|
|
10
|
+
left = mid + 1;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
right = mid - 1;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return -1;
|
|
17
|
+
}
|
|
18
|
+
export function searchRotated(nums, target) {
|
|
19
|
+
let left = 0;
|
|
20
|
+
let right = nums.length - 1;
|
|
21
|
+
while (left <= right) {
|
|
22
|
+
const mid = Math.floor((left + right) / 2);
|
|
23
|
+
if (nums[mid] === target)
|
|
24
|
+
return mid;
|
|
25
|
+
if (nums[left] <= nums[mid]) {
|
|
26
|
+
if (nums[left] <= target && target < nums[mid]) {
|
|
27
|
+
right = mid - 1;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
left = mid + 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (nums[mid] < target && target <= nums[right]) {
|
|
35
|
+
left = mid + 1;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
right = mid - 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return -1;
|
|
43
|
+
}
|
|
44
|
+
export function findPeakElement(nums) {
|
|
45
|
+
let left = 0;
|
|
46
|
+
let right = nums.length - 1;
|
|
47
|
+
while (left < right) {
|
|
48
|
+
const mid = Math.floor((left + right) / 2);
|
|
49
|
+
if (nums[mid] > nums[mid + 1]) {
|
|
50
|
+
right = mid;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
left = mid + 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return left;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=binarySearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binarySearch.js","sourceRoot":"","sources":["../../../src/functions/algorithm/binarySearch.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,MAAc;IACzD,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAE3B,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,GAAG,CAAA;QACZ,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAYD,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,MAAc;IAC1D,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAE3B,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM;YAAE,OAAO,GAAG,CAAA;QAGpC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAE5B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,GAAG,GAAG,GAAG,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAUD,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAE3B,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAE1C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAE9B,KAAK,GAAG,GAAG,CAAA;QACb,CAAC;aAAM,CAAC;YAEN,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function canJump(nums) {
|
|
2
|
+
let maxReach = 0;
|
|
3
|
+
for (let i = 0; i < nums.length; i++) {
|
|
4
|
+
if (i > maxReach)
|
|
5
|
+
return false;
|
|
6
|
+
maxReach = Math.max(maxReach, i + nums[i]);
|
|
7
|
+
if (maxReach >= nums.length - 1)
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
export function jump(nums) {
|
|
13
|
+
let jumps = 0;
|
|
14
|
+
let currentEnd = 0;
|
|
15
|
+
let maxReach = 0;
|
|
16
|
+
for (let i = 0; i < nums.length - 1; i++) {
|
|
17
|
+
maxReach = Math.max(maxReach, i + nums[i]);
|
|
18
|
+
if (i === currentEnd) {
|
|
19
|
+
jumps++;
|
|
20
|
+
currentEnd = maxReach;
|
|
21
|
+
if (currentEnd >= nums.length - 1)
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return jumps;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=canJump.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canJump.js","sourceRoot":"","sources":["../../../src/functions/algorithm/canJump.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,OAAO,CAAC,IAAc;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAErC,IAAI,CAAC,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAA;QAG9B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAG1C,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;IAC9C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAKD,MAAM,UAAU,IAAI,CAAC,IAAc;IACjC,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAG1C,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,KAAK,EAAE,CAAA;YACP,UAAU,GAAG,QAAQ,CAAA;YAGrB,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAK;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function climbStairs(n) {
|
|
2
|
+
if (n <= 2)
|
|
3
|
+
return n;
|
|
4
|
+
let prev2 = 1;
|
|
5
|
+
let prev1 = 2;
|
|
6
|
+
let current = 0;
|
|
7
|
+
for (let i = 3; i <= n; i++) {
|
|
8
|
+
current = prev1 + prev2;
|
|
9
|
+
prev2 = prev1;
|
|
10
|
+
prev1 = current;
|
|
11
|
+
}
|
|
12
|
+
return prev1;
|
|
13
|
+
}
|
|
14
|
+
export function minCostClimbingStairs(cost) {
|
|
15
|
+
const n = cost.length;
|
|
16
|
+
if (n <= 1)
|
|
17
|
+
return 0;
|
|
18
|
+
let prev2 = 0;
|
|
19
|
+
let prev1 = 0;
|
|
20
|
+
for (let i = 2; i <= n; i++) {
|
|
21
|
+
const current = Math.min(prev1 + cost[i - 1], prev2 + cost[i - 2]);
|
|
22
|
+
prev2 = prev1;
|
|
23
|
+
prev1 = current;
|
|
24
|
+
}
|
|
25
|
+
return prev1;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=climbStairs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"climbStairs.js","sourceRoot":"","sources":["../../../src/functions/algorithm/climbStairs.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAIpB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,GAAG,KAAK,CAAA;QACvB,KAAK,GAAG,KAAK,CAAA;QACb,KAAK,GAAG,OAAO,CAAA;IACjB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,MAAM,UAAU,qBAAqB,CAAC,IAAc;IAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAEpB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAClE,KAAK,GAAG,KAAK,CAAA;QACb,KAAK,GAAG,OAAO,CAAA;IACjB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function coinChange(coins, amount) {
|
|
2
|
+
if (amount === 0)
|
|
3
|
+
return 0;
|
|
4
|
+
const dp = Array(amount + 1).fill(Infinity);
|
|
5
|
+
dp[0] = 0;
|
|
6
|
+
for (let i = 1; i <= amount; i++) {
|
|
7
|
+
for (const coin of coins) {
|
|
8
|
+
if (i >= coin) {
|
|
9
|
+
dp[i] = Math.min(dp[i], dp[i - coin] + 1);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return dp[amount] === Infinity ? -1 : dp[amount];
|
|
14
|
+
}
|
|
15
|
+
export function coinChangeII(coins, amount) {
|
|
16
|
+
const dp = Array(amount + 1).fill(0);
|
|
17
|
+
dp[0] = 1;
|
|
18
|
+
for (const coin of coins) {
|
|
19
|
+
for (let i = coin; i <= amount; i++) {
|
|
20
|
+
dp[i] += dp[i - coin];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return dp[amount];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=coinChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coinChange.js","sourceRoot":"","sources":["../../../src/functions/algorithm/coinChange.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,MAAc;IACxD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAG1B,MAAM,EAAE,GAAa,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrD,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAGT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;gBACd,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC;AAMD,MAAM,UAAU,YAAY,CAAC,KAAe,EAAE,MAAc;IAE1D,MAAM,EAAE,GAAa,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC9C,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAGT,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function combinationSum(candidates: number[], target: number): number[][];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function combinationSum(candidates, target) {
|
|
2
|
+
const result = [];
|
|
3
|
+
candidates.sort((a, b) => a - b);
|
|
4
|
+
function backtrack(start, path, sum) {
|
|
5
|
+
if (sum === target) {
|
|
6
|
+
result.push([...path]);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (sum > target) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
for (let i = start; i < candidates.length; i++) {
|
|
13
|
+
const num = candidates[i];
|
|
14
|
+
if (sum + num > target)
|
|
15
|
+
break;
|
|
16
|
+
path.push(num);
|
|
17
|
+
backtrack(i, path, sum + num);
|
|
18
|
+
path.pop();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
backtrack(0, [], 0);
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=combinationSum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combinationSum.js","sourceRoot":"","sources":["../../../src/functions/algorithm/combinationSum.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,cAAc,CAAC,UAAoB,EAAE,MAAc;IACjE,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEhC,SAAS,SAAS,CAAC,KAAa,EAAE,IAAc,EAAE,GAAW;QAE3D,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QAGD,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAGD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YAGzB,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM;gBAAE,MAAK;YAG7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAGd,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;YAG7B,IAAI,CAAC,GAAG,EAAE,CAAA;QACZ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IACnB,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export function editDistance(source, target, includeDpTable = false) {
|
|
2
|
+
const m = source.length;
|
|
3
|
+
const n = target.length;
|
|
4
|
+
const dp = Array.from({ length: m + 1 }, () => Array(n + 1).fill(0));
|
|
5
|
+
for (let i = 0; i <= m; i++) {
|
|
6
|
+
dp[i][0] = i;
|
|
7
|
+
}
|
|
8
|
+
for (let j = 0; j <= n; j++) {
|
|
9
|
+
dp[0][j] = j;
|
|
10
|
+
}
|
|
11
|
+
for (let i = 1; i <= m; i++) {
|
|
12
|
+
for (let j = 1; j <= n; j++) {
|
|
13
|
+
if (source[i - 1] === target[j - 1]) {
|
|
14
|
+
dp[i][j] = dp[i - 1][j - 1];
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
dp[i][j] = Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1, dp[i - 1][j - 1] + 1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const operations = [];
|
|
22
|
+
let i = m;
|
|
23
|
+
let j = n;
|
|
24
|
+
while (i > 0 || j > 0) {
|
|
25
|
+
if (i === 0) {
|
|
26
|
+
operations.unshift({
|
|
27
|
+
type: 'insert',
|
|
28
|
+
sourceIndex: i,
|
|
29
|
+
targetIndex: j - 1,
|
|
30
|
+
targetChar: target[j - 1]
|
|
31
|
+
});
|
|
32
|
+
j--;
|
|
33
|
+
}
|
|
34
|
+
else if (j === 0) {
|
|
35
|
+
operations.unshift({
|
|
36
|
+
type: 'delete',
|
|
37
|
+
sourceIndex: i - 1,
|
|
38
|
+
targetIndex: j,
|
|
39
|
+
sourceChar: source[i - 1]
|
|
40
|
+
});
|
|
41
|
+
i--;
|
|
42
|
+
}
|
|
43
|
+
else if (source[i - 1] === target[j - 1]) {
|
|
44
|
+
operations.unshift({
|
|
45
|
+
type: 'keep',
|
|
46
|
+
sourceIndex: i - 1,
|
|
47
|
+
targetIndex: j - 1,
|
|
48
|
+
sourceChar: source[i - 1],
|
|
49
|
+
targetChar: target[j - 1]
|
|
50
|
+
});
|
|
51
|
+
i--;
|
|
52
|
+
j--;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const deleteCost = dp[i - 1][j];
|
|
56
|
+
const insertCost = dp[i][j - 1];
|
|
57
|
+
const replaceCost = dp[i - 1][j - 1];
|
|
58
|
+
const minCost = Math.min(deleteCost, insertCost, replaceCost);
|
|
59
|
+
if (minCost === replaceCost) {
|
|
60
|
+
operations.unshift({
|
|
61
|
+
type: 'replace',
|
|
62
|
+
sourceIndex: i - 1,
|
|
63
|
+
targetIndex: j - 1,
|
|
64
|
+
sourceChar: source[i - 1],
|
|
65
|
+
targetChar: target[j - 1]
|
|
66
|
+
});
|
|
67
|
+
i--;
|
|
68
|
+
j--;
|
|
69
|
+
}
|
|
70
|
+
else if (minCost === deleteCost) {
|
|
71
|
+
operations.unshift({
|
|
72
|
+
type: 'delete',
|
|
73
|
+
sourceIndex: i - 1,
|
|
74
|
+
targetIndex: j,
|
|
75
|
+
sourceChar: source[i - 1]
|
|
76
|
+
});
|
|
77
|
+
i--;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
operations.unshift({
|
|
81
|
+
type: 'insert',
|
|
82
|
+
sourceIndex: i,
|
|
83
|
+
targetIndex: j - 1,
|
|
84
|
+
targetChar: target[j - 1]
|
|
85
|
+
});
|
|
86
|
+
j--;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
distance: dp[m][n],
|
|
92
|
+
operations,
|
|
93
|
+
...(includeDpTable && { dpTable: dp })
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=editDistance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editDistance.js","sourceRoot":"","sources":["../../../src/functions/algorithm/editDistance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function generateParenthesis(n: number): string[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function generateParenthesis(n) {
|
|
2
|
+
const result = [];
|
|
3
|
+
function backtrack(path, left, right) {
|
|
4
|
+
if (path.length === 2 * n) {
|
|
5
|
+
result.push(path);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (left < n) {
|
|
9
|
+
backtrack(path + '(', left + 1, right);
|
|
10
|
+
}
|
|
11
|
+
if (right < left) {
|
|
12
|
+
backtrack(path + ')', left, right + 1);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
backtrack('', 0, 0);
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=generateParenthesis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateParenthesis.js","sourceRoot":"","sources":["../../../src/functions/algorithm/generateParenthesis.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,KAAa;QAE1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAGD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC;QAGD,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnB,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function kmpSearch(text, pattern) {
|
|
2
|
+
if (pattern.length === 0)
|
|
3
|
+
return [];
|
|
4
|
+
const next = buildNext(pattern);
|
|
5
|
+
const result = [];
|
|
6
|
+
let i = 0;
|
|
7
|
+
let j = 0;
|
|
8
|
+
while (i < text.length) {
|
|
9
|
+
if (text[i] === pattern[j]) {
|
|
10
|
+
i++;
|
|
11
|
+
j++;
|
|
12
|
+
if (j === pattern.length) {
|
|
13
|
+
result.push(i - j);
|
|
14
|
+
j = next[j - 1];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else if (j > 0) {
|
|
18
|
+
j = next[j - 1];
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
i++;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
function buildNext(pattern) {
|
|
27
|
+
const next = Array(pattern.length).fill(0);
|
|
28
|
+
let j = 0;
|
|
29
|
+
for (let i = 1; i < pattern.length; i++) {
|
|
30
|
+
while (j > 0 && pattern[i] !== pattern[j]) {
|
|
31
|
+
j = next[j - 1];
|
|
32
|
+
}
|
|
33
|
+
if (pattern[i] === pattern[j]) {
|
|
34
|
+
j++;
|
|
35
|
+
}
|
|
36
|
+
next[i] = j;
|
|
37
|
+
}
|
|
38
|
+
return next;
|
|
39
|
+
}
|
|
40
|
+
export function strStr(haystack, needle) {
|
|
41
|
+
if (needle.length === 0)
|
|
42
|
+
return 0;
|
|
43
|
+
const next = buildNext(needle);
|
|
44
|
+
let j = 0;
|
|
45
|
+
for (let i = 0; i < haystack.length; i++) {
|
|
46
|
+
while (j > 0 && haystack[i] !== needle[j]) {
|
|
47
|
+
j = next[j - 1];
|
|
48
|
+
}
|
|
49
|
+
if (haystack[i] === needle[j]) {
|
|
50
|
+
j++;
|
|
51
|
+
}
|
|
52
|
+
if (j === needle.length) {
|
|
53
|
+
return i - j + 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return -1;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=kmp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kmp.js","sourceRoot":"","sources":["../../../src/functions/algorithm/kmp.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAe;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,CAAC,EAAE,CAAA;YACH,CAAC,EAAE,CAAA;YAGH,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAClB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAEjB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YAEN,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAKD,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAA;QACL,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAKD,MAAM,UAAU,MAAM,CAAC,QAAgB,EAAE,MAAc;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAEjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAA;QACL,CAAC;QAED,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export function knapsack01(items, capacity, includeDpTable = false) {
|
|
2
|
+
const n = items.length;
|
|
3
|
+
if (n === 0 || capacity <= 0) {
|
|
4
|
+
return {
|
|
5
|
+
maxValue: 0,
|
|
6
|
+
selectedItems: []
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
const dp = Array.from({ length: n + 1 }, () => Array(capacity + 1).fill(0));
|
|
10
|
+
for (let i = 1; i <= n; i++) {
|
|
11
|
+
const item = items[i - 1];
|
|
12
|
+
for (let w = 0; w <= capacity; w++) {
|
|
13
|
+
dp[i][w] = dp[i - 1][w];
|
|
14
|
+
if (w >= item.weight) {
|
|
15
|
+
const valueWithItem = dp[i - 1][w - item.weight] + item.value;
|
|
16
|
+
dp[i][w] = Math.max(dp[i][w], valueWithItem);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const selectedItems = [];
|
|
21
|
+
let w = capacity;
|
|
22
|
+
for (let i = n; i > 0; i--) {
|
|
23
|
+
if (dp[i][w] !== dp[i - 1][w]) {
|
|
24
|
+
selectedItems.unshift(i - 1);
|
|
25
|
+
w -= items[i - 1].weight;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
maxValue: dp[n][capacity],
|
|
30
|
+
selectedItems,
|
|
31
|
+
...(includeDpTable && { dpTable: dp })
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=knapsack01.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knapsack01.js","sourceRoot":"","sources":["../../../src/functions/algorithm/knapsack01.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,UAAU,CACxB,KAAqB,EACrB,QAAgB,EAChB,cAAc,GAAG,KAAK;IAEtB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IAEtB,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,EAAE;SAClB,CAAA;IACH,CAAC;IAID,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAGvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAEnC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAGvB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC7D,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAGD,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAE3B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5B,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,aAAa;QACb,GAAG,CAAC,cAAc,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KACvC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function lengthOfLongestSubstring(s) {
|
|
2
|
+
const charMap = new Map();
|
|
3
|
+
let left = 0;
|
|
4
|
+
let maxLen = 0;
|
|
5
|
+
for (let right = 0; right < s.length; right++) {
|
|
6
|
+
const char = s[right];
|
|
7
|
+
if (charMap.has(char)) {
|
|
8
|
+
left = Math.max(left, charMap.get(char) + 1);
|
|
9
|
+
}
|
|
10
|
+
charMap.set(char, right);
|
|
11
|
+
maxLen = Math.max(maxLen, right - left + 1);
|
|
12
|
+
}
|
|
13
|
+
return maxLen;
|
|
14
|
+
}
|
|
15
|
+
export function longestSubstringWithoutRepeating(s) {
|
|
16
|
+
const charMap = new Map();
|
|
17
|
+
let left = 0;
|
|
18
|
+
let maxLen = 0;
|
|
19
|
+
let maxStart = 0;
|
|
20
|
+
for (let right = 0; right < s.length; right++) {
|
|
21
|
+
const char = s[right];
|
|
22
|
+
if (charMap.has(char)) {
|
|
23
|
+
left = Math.max(left, charMap.get(char) + 1);
|
|
24
|
+
}
|
|
25
|
+
charMap.set(char, right);
|
|
26
|
+
if (right - left + 1 > maxLen) {
|
|
27
|
+
maxLen = right - left + 1;
|
|
28
|
+
maxStart = left;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return s.substring(maxStart, maxStart + maxLen);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=lengthOfLongestSubstring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lengthOfLongestSubstring.js","sourceRoot":"","sources":["../../../src/functions/algorithm/lengthOfLongestSubstring.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,wBAAwB,CAAC,CAAS;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAGrB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAKD,MAAM,UAAU,gCAAgC,CAAC,CAAS;IACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAErB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAAA;QAC/C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAExB,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;YAC9B,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;YACzB,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAA;AACjD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function longestCommonSubsequence(str1, str2, includeDpTable = false) {
|
|
2
|
+
const m = str1.length;
|
|
3
|
+
const n = str2.length;
|
|
4
|
+
const dp = Array.from({ length: m + 1 }, () => Array(n + 1).fill(0));
|
|
5
|
+
for (let i = 1; i <= m; i++) {
|
|
6
|
+
for (let j = 1; j <= n; j++) {
|
|
7
|
+
if (str1[i - 1] === str2[j - 1]) {
|
|
8
|
+
dp[i][j] = dp[i - 1][j - 1] + 1;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
let i = m;
|
|
16
|
+
let j = n;
|
|
17
|
+
const lcs = [];
|
|
18
|
+
while (i > 0 && j > 0) {
|
|
19
|
+
if (str1[i - 1] === str2[j - 1]) {
|
|
20
|
+
lcs.unshift(str1[i - 1]);
|
|
21
|
+
i--;
|
|
22
|
+
j--;
|
|
23
|
+
}
|
|
24
|
+
else if (dp[i - 1][j] > dp[i][j - 1]) {
|
|
25
|
+
i--;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
j--;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
length: dp[m][n],
|
|
33
|
+
sequence: lcs.join(''),
|
|
34
|
+
...(includeDpTable && { dpTable: dp })
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=longestCommonSubsequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longestCommonSubsequence.js","sourceRoot":"","sources":["../../../src/functions/algorithm/longestCommonSubsequence.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,IAAY,EACZ,cAAc,GAAG,KAAK;IAEtB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IAGrB,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAGhF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC,EAAE,CAAA;YACH,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvC,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,cAAc,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;KACvC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export function longestIncreasingSubsequence(nums, includeDp = false) {
|
|
2
|
+
const n = nums.length;
|
|
3
|
+
if (n === 0) {
|
|
4
|
+
return {
|
|
5
|
+
length: 0,
|
|
6
|
+
sequence: []
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
const tails = [];
|
|
10
|
+
const parent = Array(n).fill(-1);
|
|
11
|
+
const tailIndices = [];
|
|
12
|
+
for (let i = 0; i < n; i++) {
|
|
13
|
+
const num = nums[i];
|
|
14
|
+
let left = 0;
|
|
15
|
+
let right = tails.length;
|
|
16
|
+
while (left < right) {
|
|
17
|
+
const mid = Math.floor((left + right) / 2);
|
|
18
|
+
if (tails[mid] < num) {
|
|
19
|
+
left = mid + 1;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
right = mid;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (left === tails.length) {
|
|
26
|
+
tails.push(num);
|
|
27
|
+
tailIndices.push(i);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
tails[left] = num;
|
|
31
|
+
tailIndices[left] = i;
|
|
32
|
+
}
|
|
33
|
+
if (left > 0) {
|
|
34
|
+
parent[i] = tailIndices[left - 1];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const sequence = [];
|
|
38
|
+
let currentIndex = tailIndices[tails.length - 1];
|
|
39
|
+
while (currentIndex !== -1) {
|
|
40
|
+
sequence.unshift(nums[currentIndex]);
|
|
41
|
+
currentIndex = parent[currentIndex];
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
length: tails.length,
|
|
45
|
+
sequence,
|
|
46
|
+
...(includeDp && { dp: tails })
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=longestIncreasingSubsequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longestIncreasingSubsequence.js","sourceRoot":"","sources":["../../../src/functions/algorithm/longestIncreasingSubsequence.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,4BAA4B,CAC1C,IAAc,EACd,SAAS,GAAG,KAAK;IAEjB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IAErB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO;YACL,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAGD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,MAAM,MAAM,GAAa,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1C,MAAM,WAAW,GAAa,EAAE,CAAA;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAGnB,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;QAExB,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;gBACrB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,CAAA;YACb,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;YACjB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;QAGD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAGD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEhD,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACpC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;IACrC,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ;QACR,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;KAChC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function maxArea(height: number[]): number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function maxArea(height) {
|
|
2
|
+
let left = 0;
|
|
3
|
+
let right = height.length - 1;
|
|
4
|
+
let max = 0;
|
|
5
|
+
while (left < right) {
|
|
6
|
+
const width = right - left;
|
|
7
|
+
const h = Math.min(height[left], height[right]);
|
|
8
|
+
const area = width * h;
|
|
9
|
+
max = Math.max(max, area);
|
|
10
|
+
if (height[left] < height[right]) {
|
|
11
|
+
left++;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
right--;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return max;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=maxArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maxArea.js","sourceRoot":"","sources":["../../../src/functions/algorithm/maxArea.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,OAAO,CAAC,MAAgB;IACtC,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;QAEpB,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAA;QACtB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAGzB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,EAAE,CAAA;QACR,CAAC;aAAM,CAAC;YACN,KAAK,EAAE,CAAA;QACT,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
|