第四题 是找出两个数组的中位数
难度:难 除了多判断几次 第一感觉不算很难 难在代码的优化
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
DecimalFormat df = new DecimalFormat("#.####");
if(nums1 == null){
//调用下面的方法即可
}else if(nums2 == null){
//调用下面的方法即可
}else{
//调用下面的方法即可
}
}
public double medianArrays(int[] nums){
DecimalFormat df = new DecimalFormat("#.####");
int length = nums.length;
int result = 0;
if(length%2==0){
int a =length/2;
result = nums[a]+nums[a+1];
double resultDouble = result/2;
return result;
}else{
int a =length/2 + 1;
result = nums[a];
return result;
}
}
}
题目21 合并有序链表
方法:递归
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1 ==null){
return l2;
}else (l2 == null){
return l1;
}else if(l1.val<l2.val){
l1.next = mergeTwoLists(l1.next,l2);
retrun l1;
}else{
l2.next = mergeTwoLists(l1,l2.next);
retrun l2;
}
}
题目 26 删除数组中重复项
这个题的返回值 第一次不知道怎么返回 又需要返回数组长度 又需要返回数组的内容
public int removeDuplicates(int[] nums) {
int slow = 0 ;
int length = nums.length;
for(int i = 0; i<length;i++){
if(nums[slow] != nums[i]){
show++;
nums[slow] = nums[i];
}
}
}