zoukankan      html  css  js  c++  java
  • 常考面试算法题之动态规划

    猴子摘桃

    小猴子下山,沿着下山的路有一排桃树,每棵树都结了一些桃子。小猴子想摘桃子,但是又一些条件需要遵守,小瘦子只能沿着下山的方向走,不能回头,每棵树最多摘一个,而且一旦摘了一棵树的桃子,就不能再摘比这棵树结的桃子少的树上的桃子,那么小猴子最多能摘到几课桃子呢?
    距离说明,比如有五棵树,分别结了10,4,5,12,8棵桃子,那么小猴子最多能摘3颗桃子,来自于结了4,5,12颗桃子的桃树。

    public class Main {
        public static void main(String[] args) {
            int[] m = {10,4,5,12,8};
            int maxP[]=new int [m.length];
            for(int j=0;j<m.length;j++){
                maxP[j]=1;
                for (int k=0;k<j;k++){
                    if(maxP[k]+1>maxP[j] && m[j]>m[k]){
                        maxP[j]=maxP[k]+1;
                    }
                }
            }
            int maxPeach=1;
            for (int k=0;k<maxP.length;k++){
                if(maxPeach<maxP[k]){
                    maxPeach=maxP[k];
                }
            }
            System.out.println(maxPeach);
        }
     }
    

    页码统计

    牛牛新买了一本算法书,算法书一共有n页,页码从1到n。牛牛于是想了一个算法题目:在这本算法书页码中0~9每个数字分别出现了多少次?
    输入描述:

    输入包括一个整数n(1 ≤ n ≤ 1,000,000,000)

    输出描述:

    输出包括一行10个整数,即0~9这些数字在页码中出现的次数,以空格分隔。行末无空格。
    示例1
    输入

    999
    

    输出

    189 300 300 300 300 300 300 300 300 300
    

    创造新世界

    双核处理

    堆砖块

    不等式数列

    牛牛的数列

    牛牛现在有一个n个数组成的数列,牛牛现在想取一个连续的子序列,并且这个子序列还必须得满足:最多只改变一个数,就可以使得这个连续的子序列是一个严格上升的子序列,牛牛想知道这个连续子序列最长的长度是多少。
    输入描述:

    输入包括两行,第一行包括一个整数n(1 ≤ n ≤ 10^5),即数列的长度;
    第二行n个整数a_i, 表示数列中的每个数(1 ≤ a_i ≤ 10^9),以空格分割。

    输出描述:

    输出一个整数,表示最长的长度。
    示例1
    输入

    6 
    7 2 3 1 5 6
    

    输出

    5
    

    暗黑的字符串

    数字和为sum的方法数

    Java代码实现
    

    Learn ,Practice ,Summary !
  • 相关阅读:
    GNU make manual 翻译(四十一)
    GNU make manual 翻译(三十五)
    GNU make manual 翻译(三十三)
    GNU make manual 翻译(三十八)
    GNU make manual 翻译(四十二)
    GNU make manual 翻译(三十四)
    艾瑞咨询:即时通讯面临多种安全威胁 狼人:
    世界头号黑客称奥巴马超级加密黑莓手机可被攻破 狼人:
    微软悬赏25万美元捉拿Conficker蠕虫作者 狼人:
    信息周刊:随意设置电脑密码存在安全隐患 狼人:
  • 原文地址:https://www.cnblogs.com/daminzhou/p/8295251.html
Copyright © 2011-2022 走看看