506. Relative Ranks为啥java和C++用相同的switch语句,java会错??奇怪

java

public class Solution {
    public String[] findRelativeRanks(int[] nums) {
        String[] result=new String[nums.length];
        int[] res = nums;
        Arrays.sort(res);
        int a;
        for(int i=0;i

C++

class Solution {
public:
    vector findRelativeRanks(vector& nums) {
        vector arr = nums;
        sort(arr.begin(), arr.end());
        vector result(nums.size());
        int a;
        for (int i = 0; i < nums.size(); i++) {
            for (int j = 0; j < nums.size(); j++) {
                if (nums[i] == arr[j]) {
                    a=nums.size()-j;
                    switch(a) {
                        case 1: result[i] = "Gold Medal"; break;
                        case 2: result[i] = "Silver Medal"; break;
                        case 3: result[i] = "Bronze Medal"; break;
                        default: result[i] = to_string(a); break;
                    }
                    break;
                }
            }
        }
        return result;
    }
};

你可能感兴趣的:(506. Relative Ranks为啥java和C++用相同的switch语句,java会错??奇怪)