你的代码35行left++之后还得加上一句cnt+=len-right; 不然你看看n=4,m=2,a[]={3,1,2,2}能不能出正确结果。另外不会java,你看看你的代码map会不会数组越界?n=5,m=2,a[]={1000,1001,1000,1001,1002}能过测试吗