日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

A1051. DNA序列

發(fā)布時(shí)間:2024/7/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 A1051. DNA序列 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題描述

人類基因組計(jì)劃的第一階段于2000年6月26日勝利結(jié)束,我國(guó)的科研工作者圓滿地完成了其中的1%的測(cè)序工作。
  眾所周知,對(duì)于任意兩個(gè)人來(lái)說(shuō),他們的染色體上的DNA序列大部分是相同的(否則就不是同一物種了),但是總會(huì)有少數(shù)堿基對(duì)不相同(否則世界上的人長(zhǎng)得都一模一樣了)。堿基的不同是由于基因的變異引起的。例如在某個(gè)人的DNA序列中,一位點(diǎn)上A突變成G。但每個(gè)人的DNA序列的變異位置都是不盡相同的。這樣,對(duì)于大部分位點(diǎn)來(lái)說(shuō),很有可能是這么一種情況:大部分人在這個(gè)位點(diǎn)上的堿基是一致的(因?yàn)闆](méi)有發(fā)生變異),少數(shù)人具有不同的堿基(因?yàn)榘l(fā)生了變異)。
  這樣就給我們一個(gè)啟發(fā):在測(cè)序的過(guò)程中,如果僅僅使用一個(gè)人的樣本的話,在很多位點(diǎn)上測(cè)出的結(jié)果就不具有代表性;如果能夠測(cè)出多個(gè)人的序列,那么就有可能“整合”出一段具有人類共性的序列出來(lái),這樣更有利于研究。
  比如說(shuō),我們要測(cè)人的某一段的DNA序列,得到了4個(gè)人的樣本:
  AAAGGCCT
  AGAGCTCT
  AAGGATCT
  AAACTTCT

  按照如下:
  1、 取出在每一個(gè)位置上出現(xiàn)次數(shù)最多的堿基作為整合后該位置上的堿基
  2、 如果有一個(gè)位置上出現(xiàn)次數(shù)最多的堿基不止一種,那么在出現(xiàn)次數(shù)最多的堿基中,優(yōu)先選擇A,其次C,再次G,最后T。
  按照上邊的規(guī)則,整合后的序列為:
  AAAGATCT 輸入格式 輸入數(shù)據(jù)的第一行是一個(gè)數(shù)字N(2<=N<=10),代表DNA序列的個(gè)數(shù)
  接下來(lái)有N行,每行都是一個(gè)由AGCT組成的字符串,代表每個(gè)DNA序列,保證這些序列擁有相同的長(zhǎng)度
  序列的長(zhǎng)度在2到100之間 輸出格式 僅輸出一個(gè)字符串,代表整合后的DNA序列 樣例輸入 4
AAAGGCCT
AGAGCTCT
AAGGATCT
AAACTTCT 樣例輸出 AAAGATCT package www.tsinsen.com;import java.util.Scanner;public class A1051 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner scan=new Scanner(System.in);int n=scan.nextInt();String[] strs=new String[n];for(int i=0;i<n;i++){strs[i]=scan.next();}int[][] nums=new int[strs[0].length()][4];for(int i=0;i<n;i++){for(int j=0;j<strs[0].length();j++){char c=strs[i].charAt(j);switch(c){case 'A':nums[j][0]++;break;case 'C':nums[j][1]++;break;case 'G':nums[j][2]++;break;case 'T':nums[j][3]++;break;}}}StringBuffer sb=new StringBuffer();for(int i=0;i<strs[0].length();i++){int max=nums[i][0];int max_index=0;for(int j=1;j<4;j++){if(nums[i][j]>max){max=nums[i][j];max_index=j;}}switch (max_index){case 0:sb.append("A");break;case 1:sb.append("C");break;case 2:sb.append("G");break;case 3:sb.append("T");break;default:break;}}System.out.println(sb.toString());}}

?

轉(zhuǎn)載于:https://www.cnblogs.com/henuLiGang/p/8485728.html

總結(jié)

以上是生活随笔為你收集整理的A1051. DNA序列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。