头条面试——将数组中负数都插入到正数的中间

5 6 7 1 -3 - 1 -4 -5
5 -1 6 -4 7 -5 1 -3

在声明vector时,如果想把它当成数组一样用,就需要声明大小:vector<int> arr(  一定要写大小  );

class Solution {
public:
	vector<int> insertMinus(vector<int> arr)
	{
		vector<int> res(arr.size());
		if (arr.size() == 0)
			return res;
		int j = 0;
		for (; j < arr.size(); j++)
			if (arr[j] < 0)
				break;
		//cout << j <<" "<<arr[j]<< endl;
		int l = 0, r = j;
		for (int k = 0; k < arr.size(); k++)
		{
			cout << k << endl;
			if (l > j - 1)
				res[k] = arr[r++];
			else if (r > arr.size() - 1)
				res[k] = arr[l++];
			else {
				
				res[k] = arr[l++];
				//cout << res[k] << " ";
				k++;
				res[k] = arr[r++];
				//cout << res[k] << " ";
			}	
		}
		return res;

	}
};

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/eereere/article/details/80345963
个人分类: c++
上一篇剑指Offer——求数组中的逆序对
下一篇树的判断:二叉搜索树,平衡二叉树
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭