- 博客(57)
- 收藏
- 关注
原创 hot100-栈 二分
rR记录第一次的r,在第一次中,l是最后一个小于target的数,r是第一个target(如果target存在)。在第二次中,l是最后一个target(如果target存在),r是target右侧第一个数。l指向的是首个元素大于target的一行的前一行。所以要判断首行的首个元素是不是大于target,若是,则l指向-1,再往后走会爆数组下标。i是nums1里分割线左侧的点,j是nums2里分割线左侧的点。如果第一次的r比第二次的l大,则target不存在。实际上也可以用辅助栈。
2025-02-26 18:31:32
309
原创 哈希表的查找、插入及删除——166、138 哈希表与索引——1、167、599、219、220 (3简3中1难)
在这里,对abs(取绝对值)的方法做了一个转换,使用了TreeSet.higher函数(寻找集里严格大于e的最小的那个数),而把e定为num-valueDiff-1。即,原来-4到-1也在0组,这样的话,就可以让-5到-1分到-1组,实现错位。这道题使用了双重区间,即下标区间和值区间,下标区间依旧可以通过219的滑动区间解决限制,但对于值区间,比起在值区间内进行值遍历,我首先想到的办法是先找到最接近的值、再判断是否在区间。因为最差值的是t,也就是说,x和x+t是最极端的符合条件的情况,它们需要在一个桶里。
2024-09-03 15:20:28
1132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人