zoukankan      html  css  js  c++  java
  • 没事就去刷刷编程题

    最近发现一个联系编程的好网站,没事的话,可以上去加强一下自己的算法基础,提高一下自己的编程能力,上面的题目很多,可以循序渐进的从基础再到难度较大的题目进行练习.

    网站1:https://leetcode.com/problemset/all/

    网站2:http://www.lintcode.com/zh-cn/

    中午休息时间做了几道题目:

        /**
         * 两个数组合并排序
         * @param A
         * @param B
         * @return
         */
        public static int[] mergeSortedArray(int[] A, int[] B) {
            int len = A.length + B.length;
            int[] C = new int[len];
            System.arraycopy(A, 0, C, 0, A.length);
            System.arraycopy(B, 0, C, A.length, B.length);
            int temp;
            for(int i = 0; i < len; i++){
                for(int j = i; j > 0; j--){
                    if(C[j] < C[j-1]){
                        temp = C[j];
                        C[j] = C[j-1];
                        C[j-1] = temp;
                    }    
                }    
            }
            return C;        
        }
        
        /**
         * 在数组中找到第k大的元素
         * @param k
         * @param nums
         * @return
         */
        public static int kthLargestElement(int k, int[] nums) {
            int size = nums.length;
            int temp;
            for(int i = 0; i < size; i++){
                for(int j = i; j > 0; j--){
                    if(nums[j] > nums[j-1]){
                        temp = nums[j];
                        nums[j] = nums[j-1];
                        nums[j-1] = temp;
                    }    
                }    
            }
            for(int index=0; index<size;index++){
                System.out.print(nums[index]+",");
            }
            int resl = nums[k-1];
            return resl;
        }
        /**
         * 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
         * @param k
         * @param n
         * @return
         */
        public static List<Integer> digitCounts(int k, int n) {
            List<Integer> list = new ArrayList<Integer>();
            for(int i = 1; i <= n; i++){
                String str = String.valueOf(i);
                char[] c = str.toCharArray();
                for(int j=0;j < c.length; j++){
                    int x = Integer.valueOf(String.valueOf(c[j]));
                    if(k == x){
                        list.add(i);
                    }
                }
            }
            return list;
        }
        
        
        
        /**
         * 计算一个数阶乘后尾部包含0的个数
         * @param n
         * @return
         */
        public static long trailingZeros(long n){        
            int count = 0;
            long reslt = jiechen(n);
            System.out.println(reslt);
            while((reslt % 10) == 0){
                reslt = reslt/10;
                count ++;
            }
            return count;
        }
        
        private static long jiechen(long n){
            long sum = 1;
            if(n < 0){
                return -1;
            }
            if(n <= 1){
                return 1;
            }
            for(long i = 1; i <= n; i++){
                sum *= i; 
            }
            return sum;
        }
  • 相关阅读:
    nginx:配置详细说明
    linux:/etc/rc.local 不能自动启动问题
    nginx:403 forbidden 二种原因
    nginx:虚拟主机配置
    linux:lnmp环境搭建
    php:mysqli扩展
    linux:磁盘的分割、检验、格式化与挂载
    webpack
    js的window.onscroll事件兼容各大浏览器
    js window事件解析(转载)
  • 原文地址:https://www.cnblogs.com/fxust/p/7814240.html
Copyright © 2011-2022 走看看