leetcodeNo.506 相对名次

mac2025-08-29  8

class Solution { public String[] findRelativeRanks(int[] nums) { //思路是先用map记录每个数字出现的位置,然后将数组排序,排序完名次也就出现了,根据map找到该数字的位置,放入名次就可以了 String[] result=new String[nums.length]; Map<Integer,Integer> map=new HashMap<>(); for(int i=0;i<nums.length;i++){ map.put(nums[i],i); } Arrays.sort(nums); for(int i=0;i<nums.length;i++){ if(nums.length-i>3){ result[map.get(nums[i])]=Integer.toString(nums.length-i); }else{ //把if放到这里面,会让程序快一些,但是用case,defaul 程序会更简洁 if(nums.length-i==3) result[map.get(nums[i])]="Bronze Medal"; if(nums.length-i==2) result[map.get(nums[i])]="Silver Medal"; if(nums.length-i==1) result[map.get(nums[i])]="Gold Medal"; } } return result; } } //%74.22 99.13
最新回复(0)