zcw-shared 1.21.0 → 1.23.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.
Files changed (474) hide show
  1. package/dist/functions/algorithm/binarySearch.d.ts +3 -0
  2. package/dist/functions/algorithm/binarySearch.js +58 -0
  3. package/dist/functions/algorithm/binarySearch.js.map +1 -0
  4. package/dist/functions/algorithm/canJump.d.ts +2 -0
  5. package/dist/functions/algorithm/canJump.js +27 -0
  6. package/dist/functions/algorithm/canJump.js.map +1 -0
  7. package/dist/functions/algorithm/climbStairs.d.ts +2 -0
  8. package/dist/functions/algorithm/climbStairs.js +27 -0
  9. package/dist/functions/algorithm/climbStairs.js.map +1 -0
  10. package/dist/functions/algorithm/coinChange.d.ts +2 -0
  11. package/dist/functions/algorithm/coinChange.js +25 -0
  12. package/dist/functions/algorithm/coinChange.js.map +1 -0
  13. package/dist/functions/algorithm/combinationSum.d.ts +1 -0
  14. package/dist/functions/algorithm/combinationSum.js +24 -0
  15. package/dist/functions/algorithm/combinationSum.js.map +1 -0
  16. package/dist/functions/algorithm/editDistance.d.ts +2 -0
  17. package/dist/functions/algorithm/editDistance.js +96 -0
  18. package/dist/functions/algorithm/editDistance.js.map +1 -0
  19. package/dist/functions/algorithm/generateParenthesis.d.ts +1 -0
  20. package/dist/functions/algorithm/generateParenthesis.js +18 -0
  21. package/dist/functions/algorithm/generateParenthesis.js.map +1 -0
  22. package/dist/functions/algorithm/kmp.d.ts +2 -0
  23. package/dist/functions/algorithm/kmp.js +58 -0
  24. package/dist/functions/algorithm/kmp.js.map +1 -0
  25. package/dist/functions/algorithm/knapsack01.d.ts +2 -0
  26. package/dist/functions/algorithm/knapsack01.js +34 -0
  27. package/dist/functions/algorithm/knapsack01.js.map +1 -0
  28. package/dist/functions/algorithm/lengthOfLongestSubstring.d.ts +2 -0
  29. package/dist/functions/algorithm/lengthOfLongestSubstring.js +33 -0
  30. package/dist/functions/algorithm/lengthOfLongestSubstring.js.map +1 -0
  31. package/dist/functions/algorithm/longestCommonSubsequence.d.ts +2 -0
  32. package/dist/functions/algorithm/longestCommonSubsequence.js +37 -0
  33. package/dist/functions/algorithm/longestCommonSubsequence.js.map +1 -0
  34. package/dist/functions/algorithm/longestIncreasingSubsequence.d.ts +2 -0
  35. package/dist/functions/algorithm/longestIncreasingSubsequence.js +49 -0
  36. package/dist/functions/algorithm/longestIncreasingSubsequence.js.map +1 -0
  37. package/dist/functions/algorithm/maxArea.d.ts +1 -0
  38. package/dist/functions/algorithm/maxArea.js +19 -0
  39. package/dist/functions/algorithm/maxArea.js.map +1 -0
  40. package/dist/functions/algorithm/maxProfit.d.ts +2 -0
  41. package/dist/functions/algorithm/maxProfit.js +23 -0
  42. package/dist/functions/algorithm/maxProfit.js.map +1 -0
  43. package/dist/functions/algorithm/meetingRooms.d.ts +6 -0
  44. package/dist/functions/algorithm/meetingRooms.js +31 -0
  45. package/dist/functions/algorithm/meetingRooms.js.map +1 -0
  46. package/dist/functions/algorithm/mergeSort.d.ts +2 -0
  47. package/dist/functions/algorithm/mergeSort.js +72 -0
  48. package/dist/functions/algorithm/mergeSort.js.map +1 -0
  49. package/dist/functions/algorithm/minPathSum.d.ts +2 -0
  50. package/dist/functions/algorithm/minPathSum.js +39 -0
  51. package/dist/functions/algorithm/minPathSum.js.map +1 -0
  52. package/dist/functions/algorithm/minWindow.d.ts +1 -0
  53. package/dist/functions/algorithm/minWindow.js +40 -0
  54. package/dist/functions/algorithm/minWindow.js.map +1 -0
  55. package/dist/functions/algorithm/nQueens.d.ts +1 -0
  56. package/dist/functions/algorithm/nQueens.js +30 -0
  57. package/dist/functions/algorithm/nQueens.js.map +1 -0
  58. package/dist/functions/algorithm/numIslands.d.ts +2 -0
  59. package/dist/functions/algorithm/numIslands.js +59 -0
  60. package/dist/functions/algorithm/numIslands.js.map +1 -0
  61. package/dist/functions/algorithm/permutations.d.ts +1 -0
  62. package/dist/functions/algorithm/permutations.js +22 -0
  63. package/dist/functions/algorithm/permutations.js.map +1 -0
  64. package/dist/functions/algorithm/quickSort.d.ts +3 -0
  65. package/dist/functions/algorithm/quickSort.js +68 -0
  66. package/dist/functions/algorithm/quickSort.js.map +1 -0
  67. package/dist/functions/algorithm/rabinKarp.d.ts +1 -0
  68. package/dist/functions/algorithm/rabinKarp.js +40 -0
  69. package/dist/functions/algorithm/rabinKarp.js.map +1 -0
  70. package/dist/functions/algorithm/taskScheduler.d.ts +1 -0
  71. package/dist/functions/algorithm/taskScheduler.js +15 -0
  72. package/dist/functions/algorithm/taskScheduler.js.map +1 -0
  73. package/dist/functions/algorithm/threeSum.d.ts +2 -0
  74. package/dist/functions/algorithm/threeSum.js +56 -0
  75. package/dist/functions/algorithm/threeSum.js.map +1 -0
  76. package/dist/functions/algorithm/topologicalSort.d.ts +6 -0
  77. package/dist/functions/algorithm/topologicalSort.js +68 -0
  78. package/dist/functions/algorithm/topologicalSort.js.map +1 -0
  79. package/dist/functions/algorithm/trap.d.ts +2 -0
  80. package/dist/functions/algorithm/trap.js +51 -0
  81. package/dist/functions/algorithm/trap.js.map +1 -0
  82. package/dist/functions/algorithm/visualizeGarbageCollection.d.ts +44 -0
  83. package/dist/functions/algorithm/visualizeGarbageCollection.js +263 -0
  84. package/dist/functions/algorithm/visualizeGarbageCollection.js.map +1 -0
  85. package/dist/functions/array-object/chunk.d.ts +1 -0
  86. package/dist/functions/array-object/chunk.js +11 -0
  87. package/dist/functions/array-object/chunk.js.map +1 -0
  88. package/dist/functions/array-object/evolve.d.ts +3 -0
  89. package/dist/functions/array-object/evolve.js +15 -0
  90. package/dist/functions/array-object/evolve.js.map +1 -0
  91. package/dist/functions/array-object/flattenObject.d.ts +5 -0
  92. package/dist/functions/array-object/flattenObject.js +102 -0
  93. package/dist/functions/array-object/flattenObject.js.map +1 -0
  94. package/dist/functions/array-object/groupBy.d.ts +1 -0
  95. package/dist/functions/array-object/groupBy.js +14 -0
  96. package/dist/functions/array-object/groupBy.js.map +1 -0
  97. package/dist/functions/array-object/omit.d.ts +1 -0
  98. package/dist/functions/array-object/omit.js +8 -0
  99. package/dist/functions/array-object/omit.js.map +1 -0
  100. package/dist/functions/array-object/pick.d.ts +1 -0
  101. package/dist/functions/array-object/pick.js +10 -0
  102. package/dist/functions/array-object/pick.js.map +1 -0
  103. package/dist/functions/array-object/shuffle.d.ts +1 -0
  104. package/dist/functions/array-object/shuffle.js +9 -0
  105. package/dist/functions/array-object/shuffle.js.map +1 -0
  106. package/dist/functions/array-object/sortBy.d.ts +1 -0
  107. package/dist/functions/array-object/sortBy.js +13 -0
  108. package/dist/functions/array-object/sortBy.js.map +1 -0
  109. package/dist/functions/async/cachedAsync.d.ts +27 -0
  110. package/dist/functions/async/cachedAsync.js +123 -0
  111. package/dist/functions/async/cachedAsync.js.map +1 -0
  112. package/dist/functions/async/promiseLimit.d.ts +10 -0
  113. package/dist/functions/async/promiseLimit.js +125 -0
  114. package/dist/functions/async/promiseLimit.js.map +1 -0
  115. package/dist/functions/async/retryWithBackoff.d.ts +12 -0
  116. package/dist/functions/async/retryWithBackoff.js +29 -0
  117. package/dist/functions/async/retryWithBackoff.js.map +1 -0
  118. package/dist/functions/browser/detectBrowser.d.ts +39 -0
  119. package/dist/functions/browser/detectBrowser.js +193 -0
  120. package/dist/functions/browser/detectBrowser.js.map +1 -0
  121. package/dist/functions/browser/detectOS.d.ts +5 -0
  122. package/dist/functions/browser/detectOS.js +20 -0
  123. package/dist/functions/browser/detectOS.js.map +1 -0
  124. package/dist/functions/browser/isMobile.d.ts +6 -0
  125. package/dist/functions/browser/isMobile.js +5 -0
  126. package/dist/functions/browser/isMobile.js.map +1 -0
  127. package/dist/functions/data-structures/AVLTree.d.ts +19 -0
  128. package/dist/functions/data-structures/AVLTree.js +197 -0
  129. package/dist/functions/data-structures/AVLTree.js.map +1 -0
  130. package/dist/functions/data-structures/BinarySearchTree.d.ts +19 -0
  131. package/dist/functions/data-structures/BinarySearchTree.js +150 -0
  132. package/dist/functions/data-structures/BinarySearchTree.js.map +1 -0
  133. package/dist/functions/data-structures/Graph.d.ts +19 -0
  134. package/dist/functions/data-structures/Graph.js +190 -0
  135. package/dist/functions/data-structures/Graph.js.map +1 -0
  136. package/dist/functions/data-structures/HashMap.d.ts +13 -0
  137. package/dist/functions/data-structures/HashMap.js +128 -0
  138. package/dist/functions/data-structures/HashMap.js.map +1 -0
  139. package/dist/functions/data-structures/LRUCache.d.ts +41 -0
  140. package/dist/functions/data-structures/LRUCache.js +182 -0
  141. package/dist/functions/data-structures/LRUCache.js.map +1 -0
  142. package/dist/functions/data-structures/Trie.d.ts +16 -0
  143. package/dist/functions/data-structures/Trie.js +127 -0
  144. package/dist/functions/data-structures/Trie.js.map +1 -0
  145. package/dist/functions/data-structures/UnionFind.d.ts +8 -0
  146. package/dist/functions/data-structures/UnionFind.js +53 -0
  147. package/dist/functions/data-structures/UnionFind.js.map +1 -0
  148. package/dist/functions/date/dateRange.d.ts +1 -0
  149. package/dist/functions/date/dateRange.js +18 -0
  150. package/dist/functions/date/dateRange.js.map +1 -0
  151. package/dist/functions/date/formatDate.d.ts +1 -0
  152. package/dist/functions/date/formatDate.js +21 -0
  153. package/dist/functions/date/formatDate.js.map +1 -0
  154. package/dist/functions/date/timeAgo.d.ts +1 -0
  155. package/dist/functions/date/timeAgo.js +49 -0
  156. package/dist/functions/date/timeAgo.js.map +1 -0
  157. package/dist/functions/dom/createThrottledEventListener.d.ts +11 -0
  158. package/dist/functions/dom/createThrottledEventListener.js +51 -0
  159. package/dist/functions/dom/createThrottledEventListener.js.map +1 -0
  160. package/dist/functions/file/formatFileSize.d.ts +1 -0
  161. package/dist/functions/file/formatFileSize.js +16 -0
  162. package/dist/functions/file/formatFileSize.js.map +1 -0
  163. package/dist/functions/file/getFileExtension.d.ts +5 -0
  164. package/dist/functions/file/getFileExtension.js +18 -0
  165. package/dist/functions/file/getFileExtension.js.map +1 -0
  166. package/dist/functions/functional/cond.d.ts +1 -0
  167. package/dist/functions/functional/cond.js +15 -0
  168. package/dist/functions/functional/cond.js.map +1 -0
  169. package/dist/functions/functional/curryAdvanced.d.ts +8 -0
  170. package/dist/functions/functional/curryAdvanced.js +87 -0
  171. package/dist/functions/functional/curryAdvanced.js.map +1 -0
  172. package/dist/functions/functional/flow.d.ts +1 -0
  173. package/dist/functions/functional/flow.js +14 -0
  174. package/dist/functions/functional/flow.js.map +1 -0
  175. package/dist/functions/functional/partial.d.ts +1 -0
  176. package/dist/functions/functional/partial.js +13 -0
  177. package/dist/functions/functional/partial.js.map +1 -0
  178. package/dist/functions/functional/tap.d.ts +1 -0
  179. package/dist/functions/functional/tap.js +14 -0
  180. package/dist/functions/functional/tap.js.map +1 -0
  181. package/dist/functions/functional/until.d.ts +1 -0
  182. package/dist/functions/functional/until.js +10 -0
  183. package/dist/functions/functional/until.js.map +1 -0
  184. package/dist/functions/math/average.d.ts +1 -0
  185. package/dist/functions/math/average.js +8 -0
  186. package/dist/functions/math/average.js.map +1 -0
  187. package/dist/functions/math/median.d.ts +1 -0
  188. package/dist/functions/math/median.js +14 -0
  189. package/dist/functions/math/median.js.map +1 -0
  190. package/dist/functions/math/percentile.d.ts +1 -0
  191. package/dist/functions/math/percentile.js +18 -0
  192. package/dist/functions/math/percentile.js.map +1 -0
  193. package/dist/functions/math/sum.d.ts +1 -0
  194. package/dist/functions/math/sum.js +4 -0
  195. package/dist/functions/math/sum.js.map +1 -0
  196. package/dist/functions/number/clamp.d.ts +1 -0
  197. package/dist/functions/number/clamp.js +7 -0
  198. package/dist/functions/number/clamp.js.map +1 -0
  199. package/dist/functions/number/formatNumber.d.ts +8 -0
  200. package/dist/functions/number/formatNumber.js +16 -0
  201. package/dist/functions/number/formatNumber.js.map +1 -0
  202. package/dist/functions/number/random.d.ts +4 -0
  203. package/dist/functions/number/random.js +9 -0
  204. package/dist/functions/number/random.js.map +1 -0
  205. package/dist/functions/number/range.d.ts +1 -0
  206. package/dist/functions/number/range.js +18 -0
  207. package/dist/functions/number/range.js.map +1 -0
  208. package/dist/functions/patterns/EventEmitter.d.ts +32 -0
  209. package/dist/functions/patterns/EventEmitter.js +108 -0
  210. package/dist/functions/patterns/EventEmitter.js.map +1 -0
  211. package/dist/functions/patterns/adapter.d.ts +8 -0
  212. package/dist/functions/patterns/adapter.js +14 -0
  213. package/dist/functions/patterns/adapter.js.map +1 -0
  214. package/dist/functions/patterns/builder.d.ts +9 -0
  215. package/dist/functions/patterns/builder.js +28 -0
  216. package/dist/functions/patterns/builder.js.map +1 -0
  217. package/dist/functions/patterns/chainOfResponsibility.d.ts +9 -0
  218. package/dist/functions/patterns/chainOfResponsibility.js +19 -0
  219. package/dist/functions/patterns/chainOfResponsibility.js.map +1 -0
  220. package/dist/functions/patterns/command.d.ts +15 -0
  221. package/dist/functions/patterns/command.js +49 -0
  222. package/dist/functions/patterns/command.js.map +1 -0
  223. package/dist/functions/patterns/decorator.d.ts +10 -0
  224. package/dist/functions/patterns/decorator.js +72 -0
  225. package/dist/functions/patterns/decorator.js.map +1 -0
  226. package/dist/functions/patterns/factory.d.ts +8 -0
  227. package/dist/functions/patterns/factory.js +25 -0
  228. package/dist/functions/patterns/factory.js.map +1 -0
  229. package/dist/functions/patterns/observer.d.ts +19 -0
  230. package/dist/functions/patterns/observer.js +89 -0
  231. package/dist/functions/patterns/observer.js.map +1 -0
  232. package/dist/functions/patterns/prototype.d.ts +4 -0
  233. package/dist/functions/patterns/prototype.js +30 -0
  234. package/dist/functions/patterns/prototype.js.map +1 -0
  235. package/dist/functions/patterns/proxy.d.ts +8 -0
  236. package/dist/functions/patterns/proxy.js +41 -0
  237. package/dist/functions/patterns/proxy.js.map +1 -0
  238. package/dist/functions/patterns/singleton.d.ts +11 -0
  239. package/dist/functions/patterns/singleton.js +32 -0
  240. package/dist/functions/patterns/singleton.js.map +1 -0
  241. package/dist/functions/patterns/strategy.d.ts +12 -0
  242. package/dist/functions/patterns/strategy.js +34 -0
  243. package/dist/functions/patterns/strategy.js.map +1 -0
  244. package/dist/functions/patterns/templateMethod.d.ts +8 -0
  245. package/dist/functions/patterns/templateMethod.js +19 -0
  246. package/dist/functions/patterns/templateMethod.js.map +1 -0
  247. package/dist/functions/patterns/usePluginSystem.d.ts +11 -0
  248. package/dist/functions/patterns/usePluginSystem.js +34 -0
  249. package/dist/functions/patterns/usePluginSystem.js.map +1 -0
  250. package/dist/functions/performance/once.d.ts +1 -0
  251. package/dist/functions/performance/once.js +13 -0
  252. package/dist/functions/performance/once.js.map +1 -0
  253. package/dist/functions/performance/useCache.d.ts +18 -0
  254. package/dist/functions/performance/useCache.js +82 -0
  255. package/dist/functions/performance/useCache.js.map +1 -0
  256. package/dist/functions/principles/MyPromise.d.ts +32 -0
  257. package/dist/functions/principles/MyPromise.js +254 -0
  258. package/dist/functions/principles/MyPromise.js.map +1 -0
  259. package/dist/functions/promise/sleep.d.ts +5 -0
  260. package/dist/functions/promise/sleep.js +6 -0
  261. package/dist/functions/promise/sleep.js.map +1 -0
  262. package/dist/functions/promise/timeout.d.ts +6 -0
  263. package/dist/functions/promise/timeout.js +12 -0
  264. package/dist/functions/promise/timeout.js.map +1 -0
  265. package/dist/functions/storage/useLocalStorage.d.ts +8 -0
  266. package/dist/functions/storage/useLocalStorage.js +101 -0
  267. package/dist/functions/storage/useLocalStorage.js.map +1 -0
  268. package/dist/functions/storage/useSessionStorage.d.ts +8 -0
  269. package/dist/functions/storage/useSessionStorage.js +101 -0
  270. package/dist/functions/storage/useSessionStorage.js.map +1 -0
  271. package/dist/functions/storage/useStorage.d.ts +13 -0
  272. package/dist/functions/storage/useStorage.js +62 -0
  273. package/dist/functions/storage/useStorage.js.map +1 -0
  274. package/dist/functions/storage/useStorageWithIndexedDB.d.ts +8 -0
  275. package/dist/functions/storage/useStorageWithIndexedDB.js +132 -0
  276. package/dist/functions/storage/useStorageWithIndexedDB.js.map +1 -0
  277. package/dist/functions/string/testRegex.d.ts +20 -0
  278. package/dist/functions/string/testRegex.js +300 -0
  279. package/dist/functions/string/testRegex.js.map +1 -0
  280. package/dist/functions/string/visualizeRegexSteps.d.ts +39 -0
  281. package/dist/functions/string/visualizeRegexSteps.js +446 -0
  282. package/dist/functions/string/visualizeRegexSteps.js.map +1 -0
  283. package/dist/functions/tencent-cloud/upload.cos.d.ts +20 -0
  284. package/dist/functions/tencent-cloud/upload.cos.js +127 -0
  285. package/dist/functions/tencent-cloud/upload.cos.js.map +1 -0
  286. package/dist/functions/tree/buildTree.d.ts +7 -0
  287. package/dist/functions/tree/buildTree.js +27 -0
  288. package/dist/functions/tree/buildTree.js.map +1 -0
  289. package/dist/functions/tree/filterTree.d.ts +4 -0
  290. package/dist/functions/tree/filterTree.js +21 -0
  291. package/dist/functions/tree/filterTree.js.map +1 -0
  292. package/dist/functions/tree/findNode.d.ts +4 -0
  293. package/dist/functions/tree/findNode.js +21 -0
  294. package/dist/functions/tree/findNode.js.map +1 -0
  295. package/dist/functions/tree/flattenTree.d.ts +6 -0
  296. package/dist/functions/tree/flattenTree.js +21 -0
  297. package/dist/functions/tree/flattenTree.js.map +1 -0
  298. package/dist/functions/url/buildQueryString.d.ts +5 -0
  299. package/dist/functions/url/buildQueryString.js +15 -0
  300. package/dist/functions/url/buildQueryString.js.map +1 -0
  301. package/dist/functions/url/parseUrl.d.ts +11 -0
  302. package/dist/functions/url/parseUrl.js +34 -0
  303. package/dist/functions/url/parseUrl.js.map +1 -0
  304. package/dist/functions/utils/cachedAsync.d.ts +27 -0
  305. package/dist/functions/utils/cachedAsync.js +123 -0
  306. package/dist/functions/utils/cachedAsync.js.map +1 -0
  307. package/dist/functions/utils/errorManager.d.ts +63 -0
  308. package/dist/functions/utils/errorManager.js +199 -0
  309. package/dist/functions/utils/errorManager.js.map +1 -0
  310. package/dist/functions/utils/useAltool.d.ts +39 -0
  311. package/dist/functions/utils/useAltool.js +350 -0
  312. package/dist/functions/utils/useAltool.js.map +1 -0
  313. package/dist/functions/utils/vueDiff.d.ts +38 -0
  314. package/dist/functions/utils/vueDiff.js +333 -0
  315. package/dist/functions/utils/vueDiff.js.map +1 -0
  316. package/dist/functions/validation/isEmail.d.ts +1 -0
  317. package/dist/functions/validation/isEmail.js +8 -0
  318. package/dist/functions/validation/isEmail.js.map +1 -0
  319. package/dist/functions/validation/isIdCard.d.ts +1 -0
  320. package/dist/functions/validation/isIdCard.js +49 -0
  321. package/dist/functions/validation/isIdCard.js.map +1 -0
  322. package/dist/functions/validation/isIpAddress.d.ts +1 -0
  323. package/dist/functions/validation/isIpAddress.js +15 -0
  324. package/dist/functions/validation/isIpAddress.js.map +1 -0
  325. package/dist/functions/validation/isPhone.d.ts +1 -0
  326. package/dist/functions/validation/isPhone.js +12 -0
  327. package/dist/functions/validation/isPhone.js.map +1 -0
  328. package/dist/functions/validation/isUrl.d.ts +5 -0
  329. package/dist/functions/validation/isUrl.js +33 -0
  330. package/dist/functions/validation/isUrl.js.map +1 -0
  331. package/dist/reactive/createReactive.d.ts +10 -0
  332. package/dist/reactive/createReactive.js +50 -0
  333. package/dist/reactive/createReactive.js.map +1 -0
  334. package/dist/reactive/createReactiveErrorManager.d.ts +63 -0
  335. package/dist/reactive/createReactiveErrorManager.js +199 -0
  336. package/dist/reactive/createReactiveErrorManager.js.map +1 -0
  337. package/dist/reactive/createReactiveI18n.d.ts +27 -0
  338. package/dist/reactive/createReactiveI18n.js +119 -0
  339. package/dist/reactive/createReactiveI18n.js.map +1 -0
  340. package/dist/reactive/createReactivePermission.d.ts +40 -0
  341. package/dist/reactive/createReactivePermission.js +189 -0
  342. package/dist/reactive/createReactivePermission.js.map +1 -0
  343. package/dist/reactive/createReactivePinia.d.ts +52 -0
  344. package/dist/reactive/createReactivePinia.js +183 -0
  345. package/dist/reactive/createReactivePinia.js.map +1 -0
  346. package/dist/reactive/useReactiveCookie.d.ts +19 -0
  347. package/dist/reactive/useReactiveCookie.js +84 -0
  348. package/dist/reactive/useReactiveCookie.js.map +1 -0
  349. package/dist/reactive/useReactiveSSE.d.ts +46 -0
  350. package/dist/reactive/useReactiveSSE.js +212 -0
  351. package/dist/reactive/useReactiveSSE.js.map +1 -0
  352. package/dist/reactive/useReactiveWebsocket.d.ts +50 -0
  353. package/dist/reactive/useReactiveWebsocket.js +250 -0
  354. package/dist/reactive/useReactiveWebsocket.js.map +1 -0
  355. package/dist/vue-hooks/browser/useBattery.d.ts +16 -0
  356. package/dist/vue-hooks/browser/useBattery.js +70 -0
  357. package/dist/vue-hooks/browser/useBattery.js.map +1 -0
  358. package/dist/vue-hooks/browser/useBluetooth.d.ts +25 -0
  359. package/dist/vue-hooks/browser/useBluetooth.js +72 -0
  360. package/dist/vue-hooks/browser/useBluetooth.js.map +1 -0
  361. package/dist/vue-hooks/browser/useCamera.d.ts +21 -0
  362. package/dist/vue-hooks/browser/useCamera.js +52 -0
  363. package/dist/vue-hooks/browser/useCamera.js.map +1 -0
  364. package/dist/vue-hooks/browser/useClipboard.d.ts +18 -0
  365. package/dist/vue-hooks/browser/useClipboard.js +33 -0
  366. package/dist/vue-hooks/browser/useClipboard.js.map +1 -0
  367. package/dist/vue-hooks/browser/useFullscreen.d.ts +20 -0
  368. package/dist/vue-hooks/browser/useFullscreen.js +73 -0
  369. package/dist/vue-hooks/browser/useFullscreen.js.map +1 -0
  370. package/dist/vue-hooks/browser/useGamepad.d.ts +25 -0
  371. package/dist/vue-hooks/browser/useGamepad.js +69 -0
  372. package/dist/vue-hooks/browser/useGamepad.js.map +1 -0
  373. package/dist/vue-hooks/browser/useGeolocation.d.ts +24 -0
  374. package/dist/vue-hooks/browser/useGeolocation.js +85 -0
  375. package/dist/vue-hooks/browser/useGeolocation.js.map +1 -0
  376. package/dist/vue-hooks/browser/useMediaSession.d.ts +19 -0
  377. package/dist/vue-hooks/browser/useMediaSession.js +71 -0
  378. package/dist/vue-hooks/browser/useMediaSession.js.map +1 -0
  379. package/dist/vue-hooks/browser/useMicrophone.d.ts +23 -0
  380. package/dist/vue-hooks/browser/useMicrophone.js +66 -0
  381. package/dist/vue-hooks/browser/useMicrophone.js.map +1 -0
  382. package/dist/vue-hooks/browser/useNetwork.d.ts +23 -0
  383. package/dist/vue-hooks/browser/useNetwork.js +57 -0
  384. package/dist/vue-hooks/browser/useNetwork.js.map +1 -0
  385. package/dist/vue-hooks/browser/useOrientation.d.ts +22 -0
  386. package/dist/vue-hooks/browser/useOrientation.js +54 -0
  387. package/dist/vue-hooks/browser/useOrientation.js.map +1 -0
  388. package/dist/vue-hooks/browser/usePageVisibility.d.ts +15 -0
  389. package/dist/vue-hooks/browser/usePageVisibility.js +25 -0
  390. package/dist/vue-hooks/browser/usePageVisibility.js.map +1 -0
  391. package/dist/vue-hooks/browser/useScreenOrientation.d.ts +24 -0
  392. package/dist/vue-hooks/browser/useScreenOrientation.js +67 -0
  393. package/dist/vue-hooks/browser/useScreenOrientation.js.map +1 -0
  394. package/dist/vue-hooks/browser/useScreenWakeLock.d.ts +15 -0
  395. package/dist/vue-hooks/browser/useScreenWakeLock.js +57 -0
  396. package/dist/vue-hooks/browser/useScreenWakeLock.js.map +1 -0
  397. package/dist/vue-hooks/browser/useShare.d.ts +21 -0
  398. package/dist/vue-hooks/browser/useShare.js +39 -0
  399. package/dist/vue-hooks/browser/useShare.js.map +1 -0
  400. package/dist/vue-hooks/browser/useVibration.d.ts +17 -0
  401. package/dist/vue-hooks/browser/useVibration.js +40 -0
  402. package/dist/vue-hooks/browser/useVibration.js.map +1 -0
  403. package/dist/vue-hooks/dom/useClickOutside.d.ts +9 -0
  404. package/dist/vue-hooks/dom/useClickOutside.js +16 -0
  405. package/dist/vue-hooks/dom/useClickOutside.js.map +1 -0
  406. package/dist/vue-hooks/dom/useDraggable.d.ts +33 -0
  407. package/dist/vue-hooks/dom/useDraggable.js +163 -0
  408. package/dist/vue-hooks/dom/useDraggable.js.map +1 -0
  409. package/dist/vue-hooks/dom/useEventListener.d.ts +11 -0
  410. package/dist/vue-hooks/dom/useEventListener.js +18 -0
  411. package/dist/vue-hooks/dom/useEventListener.js.map +1 -0
  412. package/dist/vue-hooks/dom/useResizable.d.ts +50 -0
  413. package/dist/vue-hooks/dom/useResizable.js +178 -0
  414. package/dist/vue-hooks/dom/useResizable.js.map +1 -0
  415. package/dist/vue-hooks/history/useDebouncedRefHistory.d.ts +17 -0
  416. package/dist/vue-hooks/history/useDebouncedRefHistory.js +46 -0
  417. package/dist/vue-hooks/history/useDebouncedRefHistory.js.map +1 -0
  418. package/dist/vue-hooks/history/useManualRefHistory.d.ts +26 -0
  419. package/dist/vue-hooks/history/useManualRefHistory.js +80 -0
  420. package/dist/vue-hooks/history/useManualRefHistory.js.map +1 -0
  421. package/dist/vue-hooks/history/useRefHistory.d.ts +15 -0
  422. package/dist/vue-hooks/history/useRefHistory.js +41 -0
  423. package/dist/vue-hooks/history/useRefHistory.js.map +1 -0
  424. package/dist/vue-hooks/state/createGlobalState.d.ts +2 -0
  425. package/dist/vue-hooks/state/createGlobalState.js +11 -0
  426. package/dist/vue-hooks/state/createGlobalState.js.map +1 -0
  427. package/dist/vue-hooks/state/createInjectionState.d.ts +10 -0
  428. package/dist/vue-hooks/state/createInjectionState.js +20 -0
  429. package/dist/vue-hooks/state/createInjectionState.js.map +1 -0
  430. package/dist/vue-hooks/state/createSharedComposable.d.ts +2 -0
  431. package/dist/vue-hooks/state/createSharedComposable.js +13 -0
  432. package/dist/vue-hooks/state/createSharedComposable.js.map +1 -0
  433. package/dist/vue-hooks/state/injectLocal.d.ts +8 -0
  434. package/dist/vue-hooks/state/injectLocal.js +12 -0
  435. package/dist/vue-hooks/state/injectLocal.js.map +1 -0
  436. package/dist/vue-hooks/state/provideLocal.d.ts +7 -0
  437. package/dist/vue-hooks/state/provideLocal.js +7 -0
  438. package/dist/vue-hooks/state/provideLocal.js.map +1 -0
  439. package/dist/vue-hooks/state/useAsyncState.d.ts +27 -0
  440. package/dist/vue-hooks/state/useAsyncState.js +46 -0
  441. package/dist/vue-hooks/state/useAsyncState.js.map +1 -0
  442. package/dist/vue-hooks/state/useCounter.d.ts +17 -0
  443. package/dist/vue-hooks/state/useCounter.js +44 -0
  444. package/dist/vue-hooks/state/useCounter.js.map +1 -0
  445. package/dist/vue-hooks/state/useToggle.d.ts +13 -0
  446. package/dist/vue-hooks/state/useToggle.js +23 -0
  447. package/dist/vue-hooks/state/useToggle.js.map +1 -0
  448. package/dist/vue-hooks/time/useInterval.d.ts +16 -0
  449. package/dist/vue-hooks/time/useInterval.js +33 -0
  450. package/dist/vue-hooks/time/useInterval.js.map +1 -0
  451. package/dist/vue-hooks/time/useTimeout.d.ts +17 -0
  452. package/dist/vue-hooks/time/useTimeout.js +40 -0
  453. package/dist/vue-hooks/time/useTimeout.js.map +1 -0
  454. package/dist/vue-hooks/worker/useWebWorker.d.ts +25 -0
  455. package/dist/vue-hooks/worker/useWebWorker.js +207 -0
  456. package/dist/vue-hooks/worker/useWebWorker.js.map +1 -0
  457. package/dist/vue-hooks/worker/useWorkerFunction.d.ts +26 -0
  458. package/dist/vue-hooks/worker/useWorkerFunction.js +191 -0
  459. package/dist/vue-hooks/worker/useWorkerFunction.js.map +1 -0
  460. package/dist/vue-hooks/worker/useWorkerPool.d.ts +33 -0
  461. package/dist/vue-hooks/worker/useWorkerPool.js +247 -0
  462. package/dist/vue-hooks/worker/useWorkerPool.js.map +1 -0
  463. package/package.json +178 -65
  464. package/references/browser.d.ts +16 -0
  465. package/references/device.d.ts +340 -0
  466. package/references/dom.d.ts +31 -6
  467. package/references/eventsource.d.ts +121 -0
  468. package/references/node.d.ts +2 -0
  469. package/references/tencent-cloud.d.ts +38 -0
  470. package/references/websocket.d.ts +121 -0
  471. package/types/algorithm-visual.d.ts +79 -0
  472. package/types/algorithm.d.ts +85 -0
  473. package/types/tencent-cloud.d.ts +29 -0
  474. package/types/vue.d.ts +22 -0
@@ -0,0 +1,3 @@
1
+ export declare function binarySearch(nums: number[], target: number): number;
2
+ export declare function searchRotated(nums: number[], target: number): number;
3
+ export declare function findPeakElement(nums: number[]): number;
@@ -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,2 @@
1
+ export declare function canJump(nums: number[]): boolean;
2
+ export declare function jump(nums: number[]): number;
@@ -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,2 @@
1
+ export declare function climbStairs(n: number): number;
2
+ export declare function minCostClimbingStairs(cost: number[]): number;
@@ -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,2 @@
1
+ export declare function coinChange(coins: number[], amount: number): number;
2
+ export declare function coinChangeII(coins: number[], amount: number): number;
@@ -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,2 @@
1
+ import type { EditDistanceResult } from '../../../types/algorithm';
2
+ export declare function editDistance(source: string, target: string, includeDpTable?: boolean): EditDistanceResult;
@@ -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,2 @@
1
+ export declare function kmpSearch(text: string, pattern: string): number[];
2
+ export declare function strStr(haystack: string, needle: string): number;
@@ -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,2 @@
1
+ import type { KnapsackItem, KnapsackResult } from '../../../types/algorithm';
2
+ export declare function knapsack01(items: KnapsackItem[], capacity: number, includeDpTable?: boolean): KnapsackResult;
@@ -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,2 @@
1
+ export declare function lengthOfLongestSubstring(s: string): number;
2
+ export declare function longestSubstringWithoutRepeating(s: string): string;
@@ -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,2 @@
1
+ import type { LCSResult } from '../../../types/algorithm';
2
+ export declare function longestCommonSubsequence(str1: string, str2: string, includeDpTable?: boolean): LCSResult;
@@ -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,2 @@
1
+ import type { LISResult } from '../../../types/algorithm';
2
+ export declare function longestIncreasingSubsequence(nums: number[], includeDp?: boolean): LISResult;
@@ -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"}
@@ -0,0 +1,2 @@
1
+ export declare function maxProfit(prices: number[]): number;
2
+ export declare function maxProfitOnce(prices: number[]): number;