刷题笔记

35.搜索插入位置

这题咋整,暴力解还蛮好想的,已经排序好了,遍历一遍,遇到相同的或者大一点的就返回下标,那么就是需要在遍历的同时取出下标。

for index,item in enumerate(nums):
    if item >= target:
        return index

然后,这道题可以使用二分查找的方式来做,基本思路就是先选定最左和最右,然后选取中间,和目标值相比较。如果左比右小的情况下,目标落在左边区间,那中间值就成为右边界。落在右边区间,中间值+1作为新左边界。 但是若 low+high > Interger.MAX_VALUE 时,此时会导致数据溢出,则导致mid错误, 所以 mid 应该改为 low +(high - low)/ 2;

left,right=0,len(nums)
while left < right:
    mid = left + (right - left) / 2
    if nums[mid] < target:
        left = mid + 1
    else:
        right = mid
return left

steam的锅?

今天隔了很久很久,下了个新版打开了steam,然后,坑爹的事情发生了,steam的库和商店页面疯狂互跳,停也停不下来,最后终于在百度贴吧里找到了解决方案,直接升级为测试版的steam客户端就解决了,7月10日刚发布的帖子。

刷题笔记

面试题 16.11 简单

这题看完题目就觉得做一次遍历就行了,然后输出{} 一个set。
猛写一通 set加元素是add方法。list加元素是append方法。
然后执行代码 发现不行,想要输出是[]
靠,重来,改成list
两个边界情况,一个是 short == longer 的情况,这时候输出单元素列表
另一个是木板数量为0