zoukankan      html  css  js  c++  java
  • 数组

    1 寻找数组的中心索引

    class Solution {
        public int pivotIndex(int[] nums) {
            if(nums.length==1){return 0;}
            if(nums.length==0){return -1;}
           int left=0;
           for(int i=0;i<nums.length;i++){
               int right=0;
               for(int j=i+1;j<nums.length;j++){
                   right=right+nums[j];
               }
              
               if(left==right){
                   return i;
               }
               left=left+nums[i];
           } 
           return -1;
        }
    }

     2 合并区间(二维数组)

    class Solution {
        public int[][] merge(int[][] intervals) {
            if (intervals.length == 0) {
                return new int[0][2];
            }
    
            //对数组进行排序
            Arrays.sort(intervals, new Comparator<int[]>() {
                public int compare(int[] interval1, int[] interval2) {
                    return interval1[0] - interval2[0];
                }
            });
            //新建一个列表
            List<int[]> merged = new ArrayList<int[]>();
            //对每一个区间进行循环
            for (int i = 0; i < intervals.length; ++i) {
                int L = intervals[i][0], R = intervals[i][1];
                //如果新列表里面最后一个区间的右边界小于  此区间的左边界
                if (merged.size() == 0 || merged.get(merged.size() - 1)[1] < L) {
                    merged.add(new int[]{L, R});//就直接把此区间加进去
                } else {
                    //否则 前一个区间的右边界变成,这两个区间的两个右边界中最大的那个
                    merged.get(merged.size() - 1)[1] = Math.max(merged.get(merged.size() - 1)[1], R);
                }
            }
            return merged.toArray(new int[merged.size()][]);
        }
    }
  • 相关阅读:
    cefsharp设置默认语言
    C#创建委托实例
    C++/C#互调步骤
    mybatis别名
    redis
    数据库优化方面的事情:
    Properties类使用详解
    七层协议以及如何很好得记忆
    Http 请求到后端过程
    【转】那些年用过的Redis集群架构(含面试解析)
  • 原文地址:https://www.cnblogs.com/focusonoutput/p/13853899.html
Copyright © 2011-2022 走看看