讨论/题目交流/🐱 第 12 场夜喵双周赛/
🐱 第 12 场夜喵双周赛

欢迎在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

3 分 - 数组变换
4 分 - 力扣排行榜
5 分 - 树的直径
7 分 - 删除回文子数组

展开讨论
力扣 (LeetCode)发起于 2019-11-02
最近编辑于 2019-11-02

大佬们可以献出优秀的题解了
我只能给个第二题的题解

class Solution{
	public:
		vector<int> transformArray(vector<int>& arr){
			vector<int> temp;
			temp.assign(arr.begin(),arr.end());
			
			bool flag=false;
			
			while(!flag)
			{
				flag=true;
				for(int i=1;i<arr.size()-1;++i)
				{
					if(arr[i]>arr[i-1] && arr[i]>arr[i+1])
					{
						--temp[i];
						flag=false;
					}
					else if(arr[i]<arr[i-1] && arr[i] < arr[i+1])
					{
						++temp[i];
						flag=false;
					}
				}
				
				arr.assign(temp.begin(),temp.end());
				
				flag=true;
				for(int i=1;i<temp.size()-1;++i)
				{
					if(temp[i]>temp[i-1] && temp[i]>temp[i+1])
					{
						--arr[i];
						flag=false;
					}
					else if(temp[i]<temp[i-1] && temp[i] < temp[i+1])
					{
						++arr[i];
						flag=false;
					}
				}
				temp.assign(arr.begin(),arr.end());
			}
			cout<<"[";
			for(int i=0;i<arr.size()-1;++i)
			{
				cout<<arr[i]<<",";
			}
			cout<<arr[arr.size()-1]<<"]"<<'\n';
			
			return arr;
		}
};
7
展开全部 12 讨论