9.21的二分思想
第一个是二分查找,即查找目标值在数字里的位置下标。一开始没接触算法的朋友首先在脑海中想的应该是判断这个目标在不在数字中存在,遍历数组就好了,这简单一些。但有了算法时间复杂度的思想,并且让你输出这个目标在数组中的坐标,就需要算法的帮忙。
那么从0-nums.size()-1, 有序数组里的位置一一固定,折中查找,从中间值的大小分治区间,细节在区间的闭合,左闭右闭还是左闭右开,两种模式,右开为不包含右边界那么判断条件的while语句就是左边界小于右边界。左闭右闭就是相等。 在这个循环里,如果找到了目标值就返回mid 不满足条件退出,就是-1。
9.22的数组去重,
重点在于continue的运用,快慢指针,如果有等于值慢指针就不动,快指针跳过。不等于时候,慢指针和快指针一起++ 自行赋值。最后输出慢指针的大小即为最新的数组的位置。