题目信息:给两组int数组,第一组是findNum,第二组是nums,第一组是第二组的子集,要求的是findNum的每个数在第二组中的位置后面第一个比这个数要大的数,如果没有则为-1,将这些数放在一个数组result[]中返回。
思路:刚开始题目都有点看不懂,英语学得不好就是这样,但是我会看例子来总结规律啊,一开始的思路就是外层循环findNum[i]是findNum的的每个数,先将result[i]初始化为-1,里层循环是findNum的每个数在nums位置到最后一个数nums[j],如果遇到比findNum[i]大的nums[j],就将nums[j]赋值给result[i],然后break内层循环,附上代码:
public static int[] nextGreaterElement(int[] findNum,int[] nums){int[] result= new int[findNum.length];Lista=new ArrayList();for(int t=0;tfindNum[i]){result[i]=nums[j];break;}}}return result;}