讨论/题目交流/算法题目求助/
算法题目求助

简介

给你一个任意排列的数组,转换成任一一个数字均大于等于或小于等于相邻的数字的数组,求最小变换次数


列表

例子

  • 1 2 3 4 5 6 7
  • 4 2 3 1 6 5 7
  • 最小变换次数2次 1,4交换,5,6交换

这个一直没查到有什么通用的算法解决这个问题

展开讨论

这类似于山脉数组,可以转为求波折数,做过类似的题,那个是波折数,找出不合条件的连续升或者降之间的点,即波折点中间的,根个数来求转化次数。再考虑一下重复的数字……大概是这样,我不确定可行不可行……