今天刷的题是LeetCode上215题。该题的要求是给定一个数组,找出数组中第k大的数。
我的方法是首先对数据进行排序,这里选择插入排序。插入排序中,我犯了个错误,就是重新申请了一个数组。然后总是有些问题。后头又认真看啦看插入排序的实现方式。
具体代码如下:
class Solution { public int findKthLargest(int[] nums, int k) { int result; int length=nums.length; if (length==1){ result=nums[0]; }else{ for (int i = 1; i <length ; i++) { int j=i-1; int num=nums[i]; for (; j >=0 ; j--) { if (nums[j]>num){ nums[j+1]=nums[j]; }else { break; } } nums[j+1]=num; } result=nums[length-k]; } return result; } }