1. 旋转图像:https://leetcode-cn.com/problems/rotate-image/submissions/
    class Solution {
     public void rotate(int[][] matrix) {
         if(matrix.length == 0 || matrix[0].length == 0){
             return;
         }
         //先上下翻转
         for(int i=0;i<matrix.length/2;i++){
             int[] temp = matrix[i];
             matrix[i] = matrix[matrix.length-i-1];
             matrix[matrix.length-i-1] = temp;
         }
         //对角翻转
         for(int i=0;i<matrix.length;i++){
             for(int j=0;j<i;j++){
                 int temp = matrix[i][j];
                 matrix[i][j] = matrix[j][i];
                 matrix[j][i] = temp;
             }
         }
     }
    }
  1. LRU:https://leetcode-cn.com/problems/lru-cache/submissions/

  2. 旋转数组:https://leetcode-cn.com/problems/rotate-array/submissions/

    class Solution {
     public void rotate(int[] nums, int k) {
         //k对len取余,得到最小的旋转次数
         k = k%nums.length;
         //先整个数组翻转一次
         swap(nums,0,nums.length-1);
         //翻转前k-1个
         swap(nums,0,k-1);
         //翻转剩余的
         swap(nums,k,nums.length-1);
     }
    
     public void swap(int[] nums,int left,int right){
         while(left < right){
             int temp = nums[left];
             nums[left] = nums[right];
             nums[right] = temp;
             left++;
             right--;
         }
     }
    }
  3. 除自身外的乘积:https://leetcode-cn.com/problems/product-of-array-except-self/comments/

    class Solution {
     public int[] productExceptSelf(int[] nums) {
         if(nums.length == 0){
             return new int[0];
         }
         int[] result = new int[nums.length];
         //初始化left为1,从左往右搜索,result不叠乘left
         int left = 1;
         for(int i=0;i<nums.length;i++){
             result[i] = left;
             left *= nums[i];
         }
         //初始化right为1,从右往左搜,result叠乘right
         int right = 1;
         for(int i=nums.length-1;i>=0;i--){
             result[i] *= right;
             right *= nums[i];
         }
         return result;
     }
    }
  4. 找到所有消失的数:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/submissions/

    class Solution {
     public List<Integer> findDisappearedNumbers(int[] nums) {
         List<Integer> result = new ArrayList<>();
         //nums[i]作为temp数组的索引,设置为1,然后遍历temp数组,temp[i]为0时,存入i到list
         int[] temp = new int[nums.length+1];
         for(int i=0;i<nums.length;i++){
             temp[nums[i]] = 1;
         }
         for(int i=1;i<temp.length;i++){
             if(temp[i] == 0){
                 result.add(i);
             }
         }
         return result;
     }
    }
  5. 有序矩阵中第K小的元素:https://leetcode-cn.com/problems/kth-smallest-element-in-a-sorted-matrix/submissions/

    class Solution {
     public int kthSmallest(int[][] matrix, int k) {
         if(matrix.length == 0 || matrix[0].length == 0){
             return 0;
         }
         //降维
         int[] result = Merge(matrix,0,matrix.length-1);
         return result[k-1];
     }
    
     public int[] Merge(int[][] matrix,int start,int end){
         if(start == end){
             return matrix[start];
         }
         int middle = start + (end - start)/2;
         //分割成左右两个数组
         int[] left = Merge(matrix,start,middle);
         int[] right = Merge(matrix,middle+1,end);
         //合并左右数组
         return MergeSort(left,right);
     }
    
     public int[] MergeSort(int[] nums1,int[] nums2){
         int[] temp = new int[nums1.length + nums2.length];
         int index = 0;
         int index1 = 0;
         int index2 = 0;
         while(index1 < nums1.length && index2 < nums2.length){
             if(nums1[index1] < nums2[index2]){
                 temp[index++] = nums1[index1++];
             }else{
                 temp[index++] = nums2[index2++];
             }
         }
         while(index1 < nums1.length){
             temp[index++] = nums1[index1++];
         }
         while(index2 < nums2.length){
             temp[index++] = nums2[index2++];
         }
         return temp;
     }
    }
  6. 把数组排成最小的数:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/