随笔分类 -  arithmetic

摘要:from typing import List, Union class Solution: def calculate(self, s: str) -> int: """ T(n): O(n) S(n): O(n) 该算法实现了对一般表达式的求值,支持运算符 + - * / ^ 以及分界符号( ) 阅读全文
posted @ 2024-02-28 18:23 klyn003 阅读(34) 评论(0) 推荐(0)
摘要:Floyd判定环的方法,也称为Floyd's Tortoise and Hare Algorithm,是一种有效地检测循环(或环)的算法。它的证明主要基于数学归纳法和反证法。 我们假设存在一个链表(或数组),其中包含着一个循环。慢指针(乌龟)每次移动一步,快指针(兔子)每次移动两步。如果存在循环,那 阅读全文
posted @ 2024-02-27 20:29 klyn003 阅读(250) 评论(0) 推荐(0)
摘要:sort bucket sort 一种简单的桶分配方法是线性映射。假设有n个桶,输入数据的范围是[0, M),其中M是数据的最大值。对于输入数据x,可以使用如下的线性映射函数将其放入对应的桶中: 桶的编号为 [0, n) x_bucket_index=⌊n*x/M⌋ 演示网站 radix sort 阅读全文
posted @ 2024-02-06 15:23 klyn003 阅读(26) 评论(0) 推荐(0)
摘要:思路: 我们根据题目意思,可以移除nums里面的部分数字,规则如下:0的数量最多为3,其他数字的数量最多为2 我们创建两个map,分别记作map1和map2 其中 map1的k:nums[i], v:i; map2 为 k : nums[i] + nums[j], v 为 []int{i,j},在添 阅读全文
posted @ 2023-03-16 15:44 klyn003 阅读(34) 评论(0) 推荐(0)
摘要:通过一个for循环实现五子棋输赢判定 看过好些人写的判定方法,发现基本都是使用三层for来遍历实现的虽然时间复杂度不是N^3但是如下算法时间复杂度仅仅是N 经过分析,时间复杂度的原因来自(x + i, y) in smallPointList->O(N)但是for i in range(-4, 5) 阅读全文
posted @ 2022-12-18 20:34 klyn003 阅读(134) 评论(0) 推荐(0)