zoukankan      html  css  js  c++  java
  • 经典算法回顾1

    本文根据园主一线码农的进程来学习,今后也会自己补充一些,希望能够有所进步
    public
    class Main { public static void main(String[] args) { // TODO Auto-generated method stub /* * 公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱 * 用100文钱买100只鸡,其中公鸡,母鸡,小鸡必须有,请问各多少只 */ for(int i = 1; i < 20;i++){ for(int j =1; j < 33; j++){ int k = 100 - i - j; if((0 == k % 3)&&(100 == i*5+j*3+k/3)){ System.out.println(i+" "+j+" "+k); } } } } }

    public class Main2 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            /*
             * 五家共井
             * 五家人公用一口井,甲家的绳子用两条不够,要再用乙家的一条绳子
             * 乙家的用三条绳子不够,要再用丙家的一条
             * 丙家的用四条绳子不够,还要再用丁家的一条
             * 丁家的用五条不够,还要再用戊家的一条
             * 戊家用六条不够,还要用甲家的一条
             * 最后问井有多深,每家的绳子有多长
             */
            for(int i = 1; i < 5; i++){
                int h = 721 * i;
                int a = 265 * i;
                int b = 191 * i;
                int c = 148 * i;
                int d = 129 * i;
                int e = 76 * i;
                System.out.println(a +" "+ b +" "+c+" "+d+" "+e+" "+h);
            }
        }
    }
    五家共井问题提示:遇到问题多思考,不要立即动手,多思考一下,也许会有更好的办法。
    public class Main3 {
        static int Sum(int i, int j){
            if (10 == i){
                return j;
            }
            return Sum(i+1,2*(j+1));
            
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            /*
             *猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多
            吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子?
            尾递归
             */
            int sum = Sum(1,1);
            System.out.println(sum);
        }
    
    
    }
    public class Main4 {
        static String str1 = "acgbfh";
        static String str2 = "ahka";
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            /*
             * 最长公共子序列
             */
            int a = LCS(str1,str2);
            System.out.print(a);
            
        }
        static int LCS(String str1,String str2){
            int a[][] = new int [str1.length()+1][str2.length()+1];
            for(int i = 0; i <=str1.length(); i++){
                a[i][0] = 0;
            }
            for(int j = 0; j <=str2.length(); j++){
                a[0][j] = 0;
            }
            for(int i = 1; i <= str1.length(); i++){
                for(int j = 1; j <= str2.length(); j++){
                    if(str1.getBytes()[i-1] == str2.getBytes()[j-1]){
                        a[i][j] = a[i-1][j-1] +1;
                    }
                    else{
                        a[i][j] = Math.max(a[i-1][j], a[i][j-1]);
                    }
                }
            }
            return a[str1.length()][str2.length()];
        }
    
    }

     //最长公共子序列为一经典算法。

     
  • 相关阅读:
    Weex-语法笔记 一
    Entitlements (授权机制) 延伸
    FOUNDATION_EXPORT 延伸
    NS_ASSUME_NONNULL_BEGIN 延伸
    SSLPinning 延伸
    Socket.io 延伸
    UI_APPEARANCE_SELECTOR 延伸
    Modules和Autolinking
    代码块(Block)回调一般阐述
    数据库连接池配置错误导致OOM
  • 原文地址:https://www.cnblogs.com/benniaoxuefei/p/4246596.html
Copyright © 2011-2022 走看看