说一下通常意义的算法:设置两個索引(如i和j)分别从数组的起始和终止处开始遍历索引i正向遍历,索引j反向遍历;每次遍历中对于索引i,找到第一个正数则停止對于索引j,找到第一个负数则停止然后交换当前的a[i]和a[j],接下来i++j--,重复遍历过程直到i和j相等为止
需要说明的是,上述算法一般需要3个輔助空间分别是i、j和用于元素交换的临时变量,不过非要求1个辅助空间也并非不可能实现
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题,秒出答案一键查看所有搜题记录