25.暴力枚举-DNA

DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。碱基互补配对原则:A和T是配对的,C和G是配对的。如果两条碱基链长度是相同的并且每个位置的碱基是配对的,那么他们就可以配对合成为DNA的双螺旋结构。现在给出两条碱基链,允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基。问最少需要多少次让两条碱基链配对成功

输入描述:

输入包括一行: 包括两个字符串,分别表示两条链,两个字符串长度相同且长度均小于等于50。

 

输出描述:

输出一个整数,即最少需要多少次让两条碱基链配对成功

示例1

输入

ACGT TGCA

输出

0

 

 

packagebaolimeiju;

 

importjava.util.Scanner;

 

publicclass DNA {

    publicstaticvoid main(String[] args) {

        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){

            String s1=sc.next();

            String s2=sc.next();

            int count = 0;

            if(s1.length()==s2.length()){

                int a='A'+'T';

                int b='C'+'G';

                for(int i=0;i<s1.length();i++){

                    int c=s1.charAt(i)+s2.charAt(i);

                    if(c==a||c==b)continue;

                    count++;

                }

                System.out.println(count);

            }

            return;

           

        }

        sc.close();

    }

}

 

为了设计一个代表一周七天的枚举类以及相关的功能,我们可以创建一个名为`WeekDay`的枚举类型,其中包含七个实例,每个实例对应一天并附带相应的食物信息。以下是步骤: ```java public enum WeekDay { SUNDAY("周日", "KFC"), MONDAY("周一", "麦当劳"), TUESDAY("周二", "必胜客"), WEDNESDAY("周三", "星巴克"), THURSDAY("周四", "汉堡王"), FRIDAY("周五", "寿司店"), SATURDAY("周六", "火锅"); private String dayName; private String food; WeekDay(String dayName, String food) { this.dayName = dayName; this.food = food; } public String getDayName() { return dayName; } public String getFood() { return food; } // 提供一个获取特定日期食物的方法 public String eatForDay(int inputDayIndex) { if (inputDayIndex >= 0 && inputDayIndex < values().length) { return this.values()[inputDayIndex].getFood(); } else { throw new IllegalArgumentException("输入的天数无效"); } } // 测试枚举类 public static void main(String[] args) { System.out.println(WeekDay.MONDAY.eatForDay(0)); // 输出: 麦当劳 System.out.println(WeekDay.SATURDAY.eatForDay(6)); // 输出: 火锅 try { System.out.println(WeekDay.eatForDay(7)); // 抛出异常,因为7超出了范围 } catch (IllegalArgumentException e) { System.out.println(e.getMessage()); // 输出: 输入的天数无效 } } } ``` 在这个例子中,`eatForDay`方法接受一个整数作为参数,如果输入在范围内,它会返回相应星期的默认食物;如果输入超出范围,则抛出异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值