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()][]);
        }
    }
  • 相关阅读:
    .net Remoting学习笔记(一) 中庸
    培训是一种乐趣(2)
    ExtJS实战(10)项目总结
    ExtJS实战(4)struts
    ExtJS实战(7)登陆
    ExtJS实战(5)dwr
    让老师崩溃的回答-程序员的经典笑话
    ExtJS实战(9)疑难杂症分析
    ExtJS实战(6)extjs+json
    ExtJS实战(8)CRUD+分页+复杂查询+排序
  • 原文地址:https://www.cnblogs.com/focusonoutput/p/13853899.html
Copyright © 2011-2022 走看看