【算法】二分模板

z 发布于 2023-01-21 11:28
二分模板 将区间[l, r]被分为[l, mid]和[mid+1, r]时使用 int l=0,r=n-1; while(l<r){ int mid=l+r>>1; if(nums[mid]>=x){ r=mid; }else{ l=mid+1; } } 2.将区间[l, r]被分为[l, mid-1]和[m...

【算法】八数码

z 发布于 2023-01-11 12:53
在一个 3×3 的网格中,1∼8这 8 个数字和一个 x 恰好不重不漏地分布在这 3×3 的网格中。 例如: 1 2 3 x 4 6 7 5 8 在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们的目的是通过交换,使得网格变为如下排列(称为正确排列): 1 2 3 4 5 6 7 8 x 例如,示例中图形就可以通过让 x ...