生信刷题之ROSALIND——Part 2

news2024/12/29 10:57:48

目录

  • 1、Counting Point Mutations
    • Problem
    • Sample Dataset
    • Sample Output
    • Code
    • Output
  • 2、Mendel's First Law
    • Problem
    • Sample Dataset
    • Sample Output
    • Code
    • Output
  • 3、Translating RNA into Protein
    • Problem
    • Sample Dataset
    • Sample Output
    • Code
    • Output
  • 4、Finding a Motif in DNA
    • Problem
    • Sample Dataset
    • Sample Output
    • Code
    • Output
  • 5、Consensus and Profile
    • Problem
    • Sample Dataset
    • Sample Output
    • Code
    • Output

1、Counting Point Mutations

Problem

点突变(point mutation)是突变的一种类型,在遗传材料DNA或RNA中,会使单一个碱基核苷酸替换成另一种核苷酸。
在信息论中,两个等长字符串之间的汉明距离(Hamming distance)是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。
给定两个等长的字符串 s 和 t,s 和 t 之间的汉明距离记为dH(s,t),表示 s 和 t 不同的对应符号数。

Given: 两个长度相等的DNA链 s 和 t (不超过1kbp)

Return: The Hamming distance dH(s,t)

Sample Dataset

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT

Sample Output

7

Code

# Counting Point Mutations
def hamming_distance(s, t):
    return sum(ch1 != ch2 for ch1, ch2 in zip(s, t))


string1 = "GAGCCTACTAACGGGAT"
string2 = "CATCGTAATGACGGCCT"

print(hamming_distance(string1, string2))

with open("rosalind_hamm.txt", "r") as f:
    lines = f.readlines()
    string1 = lines[0]
    string2 = lines[1]
    print(hamming_distance(string1, string2))

Output

7
470

2、Mendel’s First Law

Problem

孟德尔定律是一系列描述了生物特性的遗传规律并催生了遗传学诞生的定律,包括两项基本定律和一项原则即:显性原则、分离定律(孟德尔第一定律),以及自由组合定律和独立分配律(孟德尔第二定律)。

Given: k,m,n为正整数,k+m+n代表一个有机体的种群,其中有k个纯和显性个体,m个杂合显性个体,n个纯和隐形个体。

Return: 随机的两个个体产生一个具有显性等位基因个体的概率。假设任何两个个体都可以交配。

Sample Dataset

2 2 2

Sample Output

0.78333

假设基因型为AA,Aa,aa的个体各有2个,其中A为显性基因,求子代中具有显性等位基因的概率。
子代中含有显性基因的亲代组合有{AA×AA,AA×Aa,AA×aa,Aa×AA,Aa×Aa,Aa×aa,aa×AA,aa×Aa},子代中不包含显性基因的亲代组合有{Aa×Aa,Aa×aa,aa×aa,aa×Aa}。
因此用总概率减去不包含A的概率更加方便,即1-P(Aa×Aa)-P(Aa×aa)-P(aa×aa)-P(aa×Aa)

Code

# Mendel's First Law
def probability(k, m, n):
    s = k + m + n
    prob_Aa_Aa = m / s * (m - 1) / (s - 1) * 0.25
    prob_Aa_aa = m / s * n / (s - 1) * 0.5
    prob_aa_Aa = n / s * m / (s - 1) * 0.5
    prob_aa_aa = n / s * (n - 1) / (s - 1)
    return round(1 - prob_Aa_Aa - prob_Aa_aa - prob_aa_Aa - prob_aa_aa, 5)


print(probability(2, 2, 2))

with open("rosalind_iprb.txt", "r") as f:
    text = f.read().split()
    k = int(text[0])
    m = int(text[1])
    n = int(text[2])
    print(probability(k, m, n))
 

Output

0.78333
0.67995

3、Translating RNA into Protein

Problem

翻译(Translation),是蛋白质生物合成(基因表达中的一部分,基因表达还包括转录)过程中的第一步。翻译是根据遗传密码的中心法则,将成熟的mRNA分子(由DNA通过转录而生成)中“碱基的排列顺序”(核苷酸序列)解码,并生成对应的特定氨基酸序列的过程。
遗传密码(Genetic code)又称遗传编码,是遗传信息的传递规则,将DNA或mRNA序列以三个核苷酸为一组的“密码子(codon)”翻译为蛋白质的氨基酸序列,以用于蛋白质合成。几乎所有的生物都使用同样的遗传密码,称为“标准遗传密码”;即使是非细胞结构的病毒,它们也是使用标准遗传密码。
20种常见的氨基酸由20个英文字母缩写而成(除了B、J、O、U、X和Z以外的所有字母)。
DNA密码子表与RNA密码子表基本相同,除了使用T来替代U。

密码子AUG同时编码甲硫氨酸并作为起始点:在信使RNA的编码区里,首个ATG的出现标志着蛋白质翻译的开始。

Given: 一个RNA链 s 对应的mRNA(长度最多为10 kbp)。

Return: s编码的蛋白质。

Sample Dataset

AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA

Sample Output

MAMAPRTEINSTRING

Code

# Translating RNA into Protein


def translate(sequence):
    rna_codon_table = {
        'UUU': 'F', 'CUU': 'L', 'AUU': 'I', 'GUU': 'V',
        'UUC': 'F', 'CUC': 'L', 'AUC': 'I', 'GUC': 'V',
        'UUA': 'L', 'CUA': 'L', 'AUA': 'I', 'GUA': 'V',
        'UUG': 'L', 'CUG': 'L', 'AUG': 'M', 'GUG': 'V',
        'UCU': 'S', 'CCU': 'P', 'ACU': 'T', 'GCU': 'A',
        'UCC': 'S', 'CCC': 'P', 'ACC': 'T', 'GCC': 'A',
        'UCA': 'S', 'CCA': 'P', 'ACA': 'T', 'GCA': 'A',
        'UCG': 'S', 'CCG': 'P', 'ACG': 'T', 'GCG': 'A',
        'UAU': 'Y', 'CAU': 'H', 'AAU': 'N', 'GAU': 'D',
        'UAC': 'Y', 'CAC': 'H', 'AAC': 'N', 'GAC': 'D',
        'UAA': 'Stop', 'CAA': 'Q', 'AAA': 'K', 'GAA': 'E',
        'UAG': 'Stop', 'CAG': 'Q', 'AAG': 'K', 'GAG': 'E',
        'UGU': 'C', 'CGU': 'R', 'AGU': 'S', 'GGU': 'G',
        'UGC': 'C', 'CGC': 'R', 'AGC': 'S', 'GGC': 'G',
        'UGA': 'Stop', 'CGA': 'R', 'AGA': 'R', 'GGA': 'G',
        'UGG': 'W', 'CGG': 'R', 'AGG': 'R', 'GGG': 'G'
    }

    protein = ""
    for i in range(0, len(sequence), 3):
        conda = sequence[i:i + 3]
        if conda == "UAA" or conda == "UAG" or conda == "UGA":
            break
        else:
            protein += rna_codon_table[conda]
    return protein


s = "AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA"
print(translate(s))


with open("rosalind_prot.txt", "r") as f:
    string = f.read()
    # print(len(string))
    print(translate(string))

Output

MAMAPRTEINSTRING
MQFRAVSIRSRGTPRGGKFLGFKGLKGICQYWLNNSFNGVWVGSIAEKFSSHITSAKRASILEAPNFRLIRNDRPLPDKPATVDVKRALRSGTRTGPTPMFLVTEASKHVLHNILETPFDELSFRIALSRCVSLINYVNHLAGYHKHHTNPWRFQHALSSIILMKCPFIHSISGWTQRHNTHELSEKSAVSAAVGQIPARCSPPKLRSERLPALAHVSKYRRLGLLADRISLSMEQLIINLRCSLRKESHAKVSFAVCLGTSKVRTDVGSAICILGSVEAYVDCKSVSIVNGLSILLIIPPLFKWARSSRMCKQRRASTAALKLSGTKGRIPRPTTRVPLCCRCRALSDGSNCQWLAPRGLRAIYDASRFANCGSRLLAADVPYHPAALRISSSRGFQVATDLPMYITGISLHDSISGCHWPPGRRLDCTPSGSREQCTLQLKRSLLYALTAAIDTLGIPMGGTCSAGYRDSIRVCNLEGFHWKGVCVRPVSFNEVGRLRIWGDCRASLLSVNALYAHFPFLLKTISLDIDERQTAHRSLCFYFGSSCSESTVYNIKQGRFRAQNFDFSGFCRESRRGRVGSERLRVGNQLSTGKNRYRRKRRTLVQLTMNQPPQLKFYLLKRAAFFNPEQQCIVPPIAERIEMVVLARDQIIMQLPVEQRTHRSVRCPSVKRATNYETHYLMHTLRPCYISEVHFQIARRLRGPSHQEIRSIPDNCPAICPALVRIRDVRRNRRLLTLRTVQRRDYPIKCPLPFSASALTIHPHPGQKRKCTLTHKNCALCMSLLDRVDARELPHKSATLLRSSQKSRPRDTGNVIKWCEPAQPQDSFAALAATRSPNIYVDSAATSSPSTGDGVPDPEWPSHTTYRYRRTYMPTVDNSPVERNSRAGLLGVSTPTPKEIRRGELAQLAARTLKRTKFTKPDTCLRGFLNVPRPFAPAGLSLTIHNKVCISALTHLSRHIEQYISTVPTRVVTPTRVNISAMPRIALVIHPSHVNVCSVGLDPTHRPKLYSALGGRLFMRFVVNLEVSIRPLLTTPMTAQQMRSRVVYSCLHLSTLRPRTVSNPFSLSTPAATHCDTPPVVVRGFGSVYYTSLKILLALIALPCISTGSMSVREGRTKTAGAPSRQKLATKQVTLNDLVPIMLHLRSPLLLSPVCHIDSATRLWDFHLSSVRILKLVSTCFCPHLLRFNSGSIPTAAWLPAPVRCLRSAALRYVSKLPRRHSVHINRMVLWPFSLGNCIDPSVSRVLTIHRRLRGLMCGMLKPTGLRSNGFILIGALLEVLGALNNSELKDTSPTTARVLLVVRHRFGQPSLTEGGVRAASRETVVSSLVHVREIIGLTVQLKPILWSSAMRLILGKQRRFELPRGVDLVAELPISSRETGSFSRPIDRLHPCNLIVLRAYRLGHGLITIYANQSIHCHISPDRIFVFSGPYEVSMNAQTQRGGFPASFQRDSKTLDCQRLWRHDLFSIFCVQASTPLYIEVELTWGSILLQGNPLSMRCGCSCTVDGPNTEIWSYITSVGYTPSANVDRLVGSVAIHVIQFSRGTFVVTRSVLPDCHSETMRDETTRGLLIVSLMTAALMCRVRGMVPYRPTTYAGASWSHPTHMQFEHTVQLLGLCLINCSMPAWVQLTGIHLVMSSGPHGARTRSAFAGRGVVCCLHTGTKSQFPGLAECFNDNPSVYYNMVILFYPVQTETSMRQKPVDGGPSSLNDSMVLLDQWQPIHLRCDEWLGCLGTDGLKLRSAAKKPVNATNDTFGAWTKNAIPCFWVFSDLRRNLIASSDFLGSVTTTCCEEGIIYYAPVLVRAPTQIIYVYRVFSPPAKERAHLGPKFQWNVALHCPTLVRGKRKSPMKRSMSRSAPGGVPLVLIRSSWSWLLECPGEAIEPVECLMLHFPSDRARDRGSSQCDSVLASLGIRGRFSDEALPEQSSYTVLVRALIKYRQAAALGAAANKVGPRTGPHPLDVYEPQAPETLFGFRIGILINIGRVKHVLVTTRGEALGLRLPRYKNQIHMTVIVTSRLTRRLSGAGAVFVLRAHAPASRTAQIPIALQLYDKELPPCAVKSCYNVVVVITDTSYRRSFSRSGLVVQGVQLSIILIRGGFATPLFRSPRGLIAEVAKGGFTCFRASIHSVSEKSTSWSRIVLRYMQYGILSICHDTLRLIFLHVLLTIFNCVEHGVYLSKRTGRSSLLVSGKVDALETRRMHPTCHHLTSVFAVWGVLLLTTTLILYLWARPLLAPIAIMPVRTVRVQAIVQLSRGVSLRHKSNVIVGPPSVIGELKVPSPPKVRVYHDVSGCGAVKTLTHLVRTESQQNRFPSISQLVDFPGILSKPKSACVESSVEILRHLYLTVQTSSYYPLVYINGLINSLYATSYNLRRSGLFGWDPDLKRGCSGSIPLSLPNYIGCTGWQKRRIASSPTARVNTFSRALVHMARDMTWTQRTREEYRARLEGLRREIHQTLGEITVKVSYRRRRATSFQHTDNRSRITLEVSRSCGLQDMDTDAVHGFSATYGRAGHQHKWQRKELELQRGVRKKVIYEHIPYRQLAWASLQKLHRRPRTGVTPPLPGELLLRVSRLSGSAHRSVQKFSSETPYTSASVGLQGFDSGGVSNISQENLLPMVYNIKTWCNTVRVPCMAKCVRKRNAKVVNRKEKSILTETRPSVKLRIDLQGPRRLALPTFQFYTGNDACPPLLALWKDSLRAGARMSSNRYITVGPTRAQPRINSVRGCFPPCRSHSELPSGNKCHNGTFSWRTSRGKAFVQPLHSSSTWPQKQRQANSYLVEDAPRVQHRRSHQVCKTDYEAGLIIRLTMRSSFLQQRAPMSPCTNPWDPDLANISNCSLCILIRDLLDSSPHGTRATSSDMHNGGLQKLATDIRTTPDVLKQELSCCMFGGSPEGTLISGSSEYGSLASTSLDARVRVCAVGRISSVPRNVIAALVERFVTQFDTYLQSLT

4、Finding a Motif in DNA

Problem

Motif往往是DNA上的反复出现的序列片段,经常是一些具有序列特异性的蛋白的结合位点(如,转录因子)或者是涉及到重要生物过程的(如,RNA 起始,RNA 终止, RNA 剪切等等)。

给定两个字符串 s 和 t,t 是 s 的子字符串(t的长度小于 s)。
在“AUGCUUCAGAAAGGUCUUACG”中所有出现的“U”的位置为2、5、6、15、17和18。
在“AUGCUUCAGAAAGGUCUUACG”中所有出现的“UGCU”的位置为2。
注意,如果 t 作为 s 的子字符串出现不止一次,那么它在 s 中会有多个位置(参见下面的示例)。
再注意,python的索引是从0开始的!

Given: 两个DNA链 s 和 t (每个长度不超过1 kbp)。

Return: t 出现在 s 中的所有位置。

Sample Dataset

GATATATGCATATACTT
ATAT

Sample Output

2 4 10

Code

# Finding a Motif in DNA


def find_motif(s, t):
    location = ""
    for i in range(len(s) - len(t) + 1):
        if s[i:i + len(t)] == t:
            location += str(i + 1) + " "
    return location


s = "GATATATGCATATACTT"
t = "ATAT"
print(find_motif(s, t))

with open("rosalind_subs.txt", "r") as f:
    lines = f.readlines()
    s = lines[0].strip()
    t = lines[1].strip()
    print(find_motif(s, t))

Output

2 4 10 
14 29 156 178 194 201 225 332 339 429 436 443 450 591 696 713 720 780 854 902 937 

5、Consensus and Profile

Problem

1、Counting Point Mutations中,我们计算了两个长度相同的字符串之间的最小符号不匹配数,以模拟寻找两个同源DNA链之间的进化路径上发生的最小点突变数的问题。如果我们有几条我们希望同时分析的同源链,那么自然的问题是找到一个平均情况下的链来代表给定链的最可能的共同祖先。

Example

DNA Strings
A T C C A G C T
G G G C A A C T
A T G G A T C T
A A G C A A C C
T T G G A A C T
A T G C C A T T
A T G G C A C T

Profile
A   5 1 0 0 5 5 0 0
C   0 0 1 4 2 0 6 1
G   1 1 6 3 0 1 0 0
T   1 5 0 0 0 1 1 6

Consensus	
A T G C A A C T

Given: 一个FASTA格式的文件。最多包含10个等长(最多1 kbp)DNA字符串。

Return: A consensus string and profile matrix for the collection(如果存在多个可能的Consensus,则可以返回其中任何一个。)

Sample Dataset

>Rosalind_1
ATCCAGCT
>Rosalind_2
GGGCAACT
>Rosalind_3
ATGGATCT
>Rosalind_4
AAGCAACC
>Rosalind_5
TTGGAACT
>Rosalind_6
ATGCCATT
>Rosalind_7
ATGGCACT

Sample Output

ATGCAACT
A: 5 1 0 0 5 5 0 0
C: 0 0 1 4 2 0 6 1
G: 1 1 6 3 0 1 0 0
T: 1 5 0 0 0 1 1 6

Code

# Consensus and Profile

def read_fasta(file):
    sequences = {}
    with open(file, "r") as f:
        for line in f:
            line = line.strip()
            if line[0] == ">":
                name = line[1:]
                sequences[name] = ""
            else:
                sequences[name] += line
    return sequences


def get_consensus_and_profile(sequences):
    n = len(sequences[0])
    profile = {"A": [0] * n, "C": [0] * n, "G": [0] * n, "T": [0] * n}
    for seq in sequences:
        for i, base in enumerate(seq):
            profile[base][i] += 1
    consensus = ""
    for i in range(n):
        max_count = 0
        max_base = ""
        for base, counts in profile.items():
            if counts[i] > max_count:
                max_count = counts[i]
                max_base = base
        consensus += max_base
    result = [consensus]
    for base in ['A', 'C', 'G', 'T']:
        counts = " ".join(str(x) for x in profile[base])
        result.append(f"{base}: {counts}")
    return '\n'.join(result)


sequences = read_fasta("code5_example.txt").values()
sequences = list(sequences)
print(get_consensus_and_profile(sequences))

sequences = read_fasta("rosalind_cons.txt").values()
sequences = list(sequences)
print(get_consensus_and_profile(sequences))

Output

ATGCAACT
A: 5 1 0 0 5 5 0 0
C: 0 0 1 4 2 0 6 1
G: 1 1 6 3 0 1 0 0
T: 1 5 0 0 0 1 1 6
GGTAACCGACCAAACAAATCCACAACCCCAGCCGATAATCCAGTAACAACTATCGCGGAGGCGATAAACAGCAAACGAAACCTAAGCGGACAGCTACAATATCAAGAAACAATAGGTTTTGAATCAGCGGACTTCCAAAAGACCTGTGCTACAAACAGTACCCAACAAAAATAGTCTATCCCGAACCACATCAGACTGATGTGGCATTAACATAACATGAACCAACGCTGGGAGAACGGTTAGAACAGTAACGCTGCCTCGCTCAGGTAGCGAACAGATTACACCAGACGCACTAAACACACACGGGACCGCTATCCACAACTTAGGGCTCCGTGCTAATCACTTCCATACCGGGAAAAATGGCAATCTAAGTTGAGCCCAACACCGAAATCCCTCGGAGCCCCACAGCGGAGGTGATTGAGGACAGGGGAAATTTGCGAAGGCGGCTCGGTACCGACAGGTAGGAAAAACGAGAAGCATATCAAACGCAAATAAGGTAATACCACAGACGCACATACAACCAAGAAGCTAACCATCACAGCCTTCAACGAGAAACCAAAAAGGACACAAATATTGCAAAGGCTATCGTAAACGATACAAATTACCATCCGAGCGCAATCGAACACTGGAGACCCACAAACTAACACTCAATAATACCTGTATATCAAATCATCAGTCGACCCCGCATAAGAGTCCAGGGGCCAAGCAGCTAGCGCACACATCGAGATTTCCAGAAAACCACGCCATTAACTGGTACTCTCTGAGGCTCCCCCGTTCTACCATACCCATCACACGCCGATAAACCTTGGTCGAGGGTAATGATTTTCGAACACCCCAATGCATTAGACTCAATAAGTGAAACCAGCGGTGGGTTTAACATAGAACTCCACCGGCCACCTGCGCAGCCCACACAAATCATGACAGTAAATACACCAAATCATAGCCCTGAGAGTGCTCCGACTCCTATCCACCAAAGAAGCCAATCATCGTGCAA
A: 2 1 3 3 5 1 2 3 4 1 1 6 3 3 2 5 3 3 3 0 1 5 1 4 3 2 2 4 1 5 1 1 3 1 4 1 3 3 2 3 1 3 2 3 4 4 2 3 5 1 2 5 1 2 0 2 1 2 3 2 2 1 2 3 1 3 4 3 1 4 2 1 4 3 4 3 2 5 3 5 2 2 2 4 3 3 1 3 2 3 3 4 2 2 3 4 3 4 5 3 6 2 1 5 4 1 6 5 4 3 4 3 2 5 1 0 3 1 3 0 0 6 4 2 2 4 2 2 2 2 4 1 3 2 1 0 4 4 5 4 3 3 0 0 2 2 0 2 1 2 4 0 3 4 3 0 3 2 2 5 0 2 1 3 3 2 4 3 5 3 4 1 3 1 1 2 2 4 1 2 3 2 0 6 4 2 1 4 2 4 1 2 3 3 4 2 2 2 5 2 1 2 2 2 2 5 2 3 4 4 1 3 2 4 3 1 3 2 2 4 5 2 3 6 3 1 1 2 1 4 3 1 3 2 5 3 2 3 1 0 2 3 1 7 4 2 4 1 2 3 5 1 2 1 3 2 0 0 3 0 3 2 2 2 4 2 3 2 3 1 1 2 4 4 2 5 3 3 1 1 3 3 5 1 1 5 1 4 1 3 2 3 2 2 3 4 3 3 3 1 3 1 3 2 2 3 2 3 1 0 1 1 0 4 2 0 1 6 1 3 3 2 2 1 5 1 2 2 3 3 3 3 2 3 0 3 3 5 4 2 2 4 2 3 3 2 2 6 3 5 3 1 2 1 2 4 4 5 3 4 1 2 2 4 3 4 3 2 3 3 4 3 1 2 1 3 3 2 2 2 3 4 2 5 2 1 3 5 4 5 2 2 2 0 2 2 2 2 4 2 1 1 1 2 3 1 6 4 0 2 1 3 1 2 1 2 6 3 3 2 4 1 2 3 0 5 2 3 2 2 4 5 3 3 1 1 1 2 0 4 3 3 1 2 2 1 3 3 1 2 1 3 4 1 1 3 4 2 3 2 2 2 4 2 4 5 3 4 5 6 2 3 3 1 3 4 2 1 4 1 5 3 2 4 4 5 1 2 1 3 4 5 0 3 4 2 3 2 3 3 3 4 3 3 3 3 3 3 4 2 1 1 4 3 3 2 4 1 3 5 2 1 3 5 2 4 5 1 3 3 4 4 3 2 4 3 1 3 2 4 2 3 3 2 3 2 4 6 2 2 3 2 3 3 4 2 1 4 3 4 4 5 3 2 3 2 4 2 3 3 4 2 6 1 2 3 0 5 4 6 3 2 2 1 5 1 2 1 2 3 4 5 2 1 4 1 3 3 3 4 4 2 1 3 1 0 5 2 3 1 1 3 1 2 2 2 4 3 2 1 2 5 3 1 3 1 2 3 2 3 2 4 2 0 2 4 0 5 5 6 2 2 4 3 1 4 2 2 2 3 5 2 3 5 2 4 1 3 3 1 3 6 2 5 3 2 5 5 5 1 2 4 1 3 3 1 2 2 2 4 3 2 1 1 3 2 3 3 4 4 2 4 3 1 1 1 4 1 2 1 2 0 2 4 4 2 2 5 1 0 3 4 2 0 2 2 3 3 3 4 3 1 2 1 4 2 4 1 2 1 2 1 4 3 6 4 5 3 2 2 5 0 3 3 2 3 3 3 3 3 4 1 1 3 3 3 2 1 3 1 0 2 1 4 2 3 2 2 2 2 3 2 3 3 1 2 2 1 4 2 3 4 1 4 2 2 0 4 2 2 5 3 3 1 2 2 1 1 4 1 5 3 3 1 2 2 1 2 2 0 1 1 4 3 3 2 1 4 3 1 2 4 1 2 3 3 0 2 3 3 1 4 1 1 3 0 3 3 1 1 2 4 3 2 3 2 5 1 3 2 5 4 0 4 5 1 1 2 4 3 3 2 1 4 2 1 2 2 1 2 1 2 1 2 2 4 4 3 5 3 3 3 3 4 2 2 0 1 7 1 2 1 2 2 1 7 1 4 3 2 2 3 1 5 1 0 3 1 6 2 4 2 3 4 3 2 2 4 2 3 3 1 3 1 2 3 6 4 0 3 2 3 2 2 3 3 5 2 1 4 3 4 1 0 2 3 2 2 5 2 3 1 1 2 0 3 1 0 2 3 2 3 2 0 2 3 3 3 2 4 1 2 4 4 4 1 3 4 2 2 1 3 4 2 1 3 2 1 1 1 1 2 6 3
C: 3 1 2 2 2 3 4 1 2 5 6 1 3 2 4 2 2 3 1 5 4 1 4 3 1 8 4 5 4 0 3 4 4 2 1 3 3 3 1 5 4 3 2 2 1 2 6 2 2 4 1 2 2 3 4 4 0 1 3 3 3 6 2 3 2 3 2 2 5 2 2 4 4 3 2 4 2 2 3 2 5 4 1 2 3 2 5 1 2 2 4 3 3 3 2 1 4 4 3 2 0 2 6 1 2 2 1 2 3 4 0 1 1 2 1 3 1 1 0 1 3 1 3 0 4 1 0 3 2 1 2 4 2 3 4 6 1 2 3 3 2 2 5 4 2 2 1 2 3 0 3 4 1 2 1 4 2 1 3 1 5 5 5 1 3 4 2 3 2 1 2 3 3 4 2 4 3 0 3 3 5 3 3 3 2 5 4 3 3 3 3 6 3 0 0 3 1 2 1 1 3 1 2 0 3 0 1 2 1 4 4 3 1 3 2 4 3 2 1 3 0 3 5 4 3 4 1 3 3 1 3 1 2 2 1 3 4 2 2 3 1 3 1 0 2 4 2 1 1 1 0 3 2 6 1 0 5 4 2 6 1 3 1 3 1 2 1 2 3 2 3 2 1 0 5 2 1 3 1 2 3 5 1 4 3 2 3 2 5 0 3 3 3 2 1 3 3 4 3 3 3 5 3 3 2 1 2 3 3 4 2 4 2 3 1 4 5 3 4 1 2 5 2 1 1 2 2 2 4 1 4 5 0 1 3 5 1 4 3 2 3 0 4 1 1 4 3 3 2 2 5 5 2 3 3 2 0 2 3 3 2 2 2 5 2 2 0 4 2 3 2 2 3 2 0 2 1 5 5 3 2 1 3 1 3 4 1 2 2 2 2 4 3 4 0 4 0 2 3 2 4 4 4 3 3 4 1 0 4 1 2 3 3 2 2 2 2 1 2 2 1 1 2 2 4 4 2 0 3 3 1 3 2 1 3 3 3 3 2 3 3 1 1 3 1 2 5 0 4 3 2 1 4 4 5 3 3 5 2 2 3 3 1 3 0 1 1 3 0 1 3 1 2 3 3 2 2 3 3 1 1 1 4 3 4 2 4 3 3 1 1 1 1 1 2 2 2 1 2 2 1 0 5 4 3 4 2 0 1 4 2 6 2 4 2 1 3 4 3 1 3 5 3 1 1 2 3 3 4 1 4 2 4 4 4 2 4 2 6 2 3 4 5 2 1 3 1 2 3 2 3 1 1 3 1 4 4 1 2 2 2 2 2 3 1 5 2 4 1 1 3 2 2 2 2 2 5 3 2 2 2 3 4 2 1 3 4 3 3 2 2 1 5 0 2 2 3 5 2 1 3 1 2 3 3 4 1 2 4 6 3 2 1 4 1 5 2 1 2 4 1 2 2 4 2 4 2 2 2 3 1 3 3 4 4 2 4 3 3 2 3 2 2 2 4 3 3 0 4 3 1 3 1 2 2 1 5 6 1 2 0 1 0 3 2 4 2 3 2 2 4 3 2 4 1 0 2 4 2 2 4 7 3 6 1 3 2 2 2 2 0 4 3 3 4 7 2 2 2 3 3 4 5 3 4 3 4 2 1 4 2 3 1 4 2 6 2 4 1 5 3 3 4 1 2 0 0 2 2 4 3 3 4 1 0 4 0 3 4 3 1 5 1 5 5 3 1 0 1 3 5 1 1 1 1 3 3 3 4 3 5 1 3 2 2 1 3 2 3 5 4 4 4 2 2 2 3 3 2 4 5 3 2 0 4 4 5 2 2 4 2 5 3 3 2 3 4 3 1 2 0 3 3 4 3 3 3 2 1 2 4 2 0 2 0 1 3 4 3 2 1 1 3 1 0 2 4 1 2 2 4 3 5 4 4 4 2 3 3 1 5 3 1 1 3 1 1 3 0 3 2 2 0 3 0 4 2 1 1 2 2 3 4 3 2 3 2 2 3 2 3 3 3 3 3 3 2 4 1 3 3 1 1 2 7 3 4 3 1 5 4 1 1 3 5 0 5 5 1 0 5 3 5 1 2 4 5 3 3 5 1 4 3 1 3 2 5 1 2 1 2 5 3 2 2 1 2 3 1 1 3 2 4 3 2 2 1 2 6 4 1 3 1 4 3 5 2 2 3 2 3 2 2 2 5 0 5 5 1 2 3 2 5 5 1 2 1 4 7 1 5 4 4 1 1 2 2 2 3 4 5 1 1 1 4 3 3 4 0 3 3 5 0 3
G: 4 6 1 3 1 3 4 4 2 2 1 0 3 2 0 1 2 3 2 1 3 3 2 2 3 0 0 0 3 2 4 4 1 6 2 2 1 3 3 1 3 2 3 1 4 2 2 2 2 4 2 2 3 3 6 1 6 4 2 5 4 2 3 2 3 2 1 2 3 2 4 3 1 1 3 2 4 2 1 0 1 3 0 2 2 4 2 4 3 2 2 2 4 2 0 3 0 1 0 1 2 2 2 0 0 4 2 2 2 2 2 3 2 2 6 4 1 3 3 4 6 1 0 3 1 2 7 3 3 6 2 3 1 1 1 4 1 3 1 2 5 2 2 2 0 3 2 4 3 2 1 4 3 3 3 3 3 5 1 0 4 1 2 3 3 2 2 2 0 3 1 1 3 5 2 1 1 3 2 3 1 3 5 0 1 0 1 2 3 1 2 1 2 4 3 2 3 4 2 2 5 2 5 5 3 3 3 1 1 1 4 3 3 0 2 1 1 2 5 2 4 3 1 0 2 1 4 3 2 5 4 5 2 3 3 2 2 4 5 3 2 2 4 0 3 1 1 4 3 3 3 3 3 3 2 4 3 3 1 1 4 3 2 2 3 4 5 2 3 4 3 4 2 2 1 2 4 3 3 2 2 1 2 2 3 2 4 3 0 5 2 2 2 1 3 3 1 0 1 3 1 2 2 3 3 5 4 2 3 2 5 3 3 2 2 2 0 1 2 3 3 2 2 2 1 5 3 4 2 2 0 0 4 2 4 0 0 0 2 2 2 2 2 1 2 1 3 0 1 0 1 1 3 5 4 2 4 0 2 1 3 3 4 0 2 1 3 2 0 1 1 4 2 2 5 3 5 0 2 3 2 4 2 3 2 3 5 2 1 1 1 2 2 3 3 4 5 3 2 3 2 2 1 3 3 4 0 5 3 4 5 1 4 4 3 4 1 2 1 4 2 4 3 2 2 1 3 4 4 4 3 1 2 2 1 1 4 3 4 2 3 4 5 2 5 6 1 3 3 5 4 2 2 1 4 4 1 1 3 4 4 1 3 4 6 2 3 2 2 3 3 5 2 4 3 1 5 3 1 3 1 2 0 2 1 2 4 4 3 3 2 0 4 3 0 3 4 3 2 2 2 3 1 2 3 1 3 5 2 3 6 3 1 3 3 3 2 3 1 3 2 1 1 1 4 1 0 5 3 1 0 3 1 1 1 1 4 3 1 1 4 1 2 2 2 2 2 2 2 5 1 4 3 2 3 2 3 1 2 1 1 0 4 4 3 1 0 2 3 3 1 2 1 2 2 5 4 1 1 1 4 4 2 3 4 2 2 4 1 2 2 2 1 5 1 3 2 1 3 3 3 3 2 2 3 3 3 1 0 1 6 3 4 2 4 0 2 3 2 3 5 3 2 2 3 3 2 4 3 2 6 1 2 3 1 2 2 0 2 1 2 2 3 3 1 2 2 3 4 3 2 1 3 1 1 4 2 1 2 5 2 3 1 0 1 1 1 1 1 3 4 1 2 2 3 6 2 1 3 1 2 0 3 2 4 2 2 1 1 2 4 1 4 2 2 0 2 4 3 5 4 4 3 2 1 4 2 2 6 2 1 1 4 3 3 2 2 2 3 1 1 2 4 5 3 5 4 3 2 0 3 3 0 4 2 0 3 3 3 2 3 2 4 2 2 1 1 3 3 3 0 2 5 4 1 1 3 2 1 1 1 3 4 2 4 4 2 0 3 0 1 3 0 5 3 1 3 1 2 3 0 1 2 2 3 1 4 2 2 3 2 1 3 3 3 3 3 4 4 2 2 1 3 3 2 0 2 4 5 3 3 4 2 5 7 4 2 2 1 3 4 2 2 3 2 1 3 6 3 2 4 2 1 1 1 3 2 3 1 4 2 1 1 2 2 6 4 3 3 2 3 2 1 0 3 5 3 6 3 2 2 3 1 2 3 3 3 6 2 3 4 4 1 1 1 2 3 2 0 0 2 4 3 2 1 1 2 3 1 1 2 4 5 3 4 1 2 1 2 6 1 4 3 2 4 4 1 3 1 3 3 2 1 2 2 1 1 3 2 5 2 1 1 4 0 3 2 1 2 3 3 3 0 2 3 3 3 2 2 2 1 0 5 2 3 1 0 3 2 4 3 6 3 3 2 3 0 1 6 2 2 1 2 3 2 3 2 0 1 3 4 1 0 4 3 4 3 3 4 1 1 3 3 3 4 3 1 4 5 1 4 0 1 2
T: 1 2 4 2 2 3 0 2 2 2 2 3 1 3 4 2 3 1 4 4 2 1 3 1 3 0 4 1 2 3 2 1 2 1 3 4 3 1 4 1 2 2 3 4 1 2 0 3 1 1 5 1 4 2 0 3 3 3 2 0 1 1 3 2 4 2 3 3 1 2 2 2 1 3 1 1 2 1 3 3 2 1 7 2 2 1 2 2 3 3 1 1 1 3 5 2 3 1 2 4 2 4 1 4 4 3 1 1 1 1 4 3 5 1 2 3 5 5 4 5 1 2 3 5 3 3 1 2 3 1 2 2 4 4 4 0 4 1 1 1 0 3 3 4 6 3 7 2 3 6 2 2 3 1 3 3 2 2 4 4 1 2 2 3 1 2 2 2 3 3 3 5 1 0 5 3 4 3 4 2 1 2 2 1 3 3 4 1 2 2 4 1 2 3 3 3 4 2 2 5 1 5 1 3 2 2 4 4 4 1 1 1 4 3 3 4 3 4 2 1 1 2 1 0 2 4 4 2 4 0 0 3 3 3 1 2 2 1 2 4 5 2 4 3 1 3 3 4 4 3 2 3 3 0 4 4 2 3 4 3 2 2 5 3 2 2 1 4 1 3 3 2 3 4 2 1 2 1 5 5 2 1 2 3 3 1 2 1 4 2 3 2 3 5 3 0 3 3 3 3 3 2 2 2 3 1 2 2 3 4 2 2 5 1 5 4 4 0 3 3 2 1 4 6 3 2 3 2 1 4 3 2 4 4 3 2 6 1 1 4 3 4 2 5 4 3 2 1 4 3 1 3 3 1 1 2 2 3 2 2 4 3 2 1 3 3 4 2 5 3 3 1 4 4 4 2 1 3 1 2 3 1 3 1 3 2 1 1 3 2 5 2 3 3 5 0 3 3 1 3 3 3 4 2 1 1 3 1 3 3 2 3 2 2 4 2 1 4 4 2 3 4 3 3 4 0 3 3 1 1 2 1 3 4 5 5 2 2 4 1 1 2 3 3 2 1 1 4 2 0 3 4 0 4 0 0 2 2 2 2 1 4 2 1 0 2 3 1 3 0 2 1 3 2 1 3 1 3 2 5 3 4 4 1 1 1 1 1 3 3 3 4 5 3 4 3 1 4 3 3 4 3 1 1 1 2 2 2 3 1 1 0 3 0 2 4 1 2 3 1 3 3 3 3 3 3 2 1 0 5 2 1 2 3 1 4 1 2 1 3 1 2 0 4 4 3 3 0 3 1 3 3 3 2 2 2 2 4 3 3 3 3 1 1 3 2 4 2 3 3 2 4 1 5 4 0 1 1 3 1 1 1 2 4 0 4 2 2 4 3 2 2 2 4 3 4 2 1 2 2 0 4 5 2 3 3 1 5 3 2 0 2 4 2 3 3 2 3 4 2 2 0 3 3 2 2 4 1 3 2 1 2 3 3 3 2 4 2 0 1 3 4 1 2 4 1 3 5 0 1 2 4 3 2 5 1 2 0 4 2 5 0 7 2 4 3 2 1 2 4 0 2 5 1 3 3 4 3 3 3 1 1 3 1 2 3 3 4 3 2 4 1 0 4 3 2 2 3 3 1 1 2 0 1 1 1 2 1 2 4 4 2 3 3 3 0 3 1 3 0 3 4 0 3 1 3 2 4 4 5 2 3 2 2 2 2 2 1 1 3 1 3 2 0 1 3 5 4 3 1 1 6 3 2 5 3 2 4 2 5 4 4 2 2 2 2 3 6 2 3 2 1 3 0 4 5 2 5 2 1 2 2 5 4 1 3 1 2 4 1 1 1 1 3 3 2 2 2 1 5 3 3 1 2 3 5 4 2 2 5 2 3 4 0 0 3 4 0 3 4 3 3 4 4 5 4 3 1 2 3 1 1 3 4 2 3 3 1 5 4 1 2 5 5 2 1 0 3 4 3 0 2 9 3 2 0 4 1 2 3 3 2 4 1 3 3 3 0 4 3 2 1 5 4 4 1 1 1 4 4 2 2 3 2 0 4 4 3 1 3 2 4 2 2 0 2 2 0 4 2 2 0 1 2 3 2 1 3 0 0 2 2 3 3 2 5 2 2 4 1 3 3 3 3 6 3 0 2 7 3 2 2 4 3 2 2 1 4 1 0 5 3 3 4 2 1 6 3 0 2 1 1 4 3 3 4 4 4 1 3 3 4 1 2 5 2 4 3 0 2 0 3 2 1 2 3 2 1 1 3 3 3 2 4 1 1 4 1 4 5 2 3 3 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/432182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++每日一练(20230415)

目录 1. 交错字符串 🌟🌟 2. 最短回文串 🌟🌟 3. 分段函数计算 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 交错字符串 给定…

【数据库】MySQL的增删改查

目录 1.CRUD 2.新增数据 2.1单行数据全列插入 2.2多行数据指定列插入 3.查询数据 3.1全列查询 3.2指定列查询 3.3查询字段为表达式 3.4别名 3.5去重DISTINCT 3.6排序ORDER BY 3.7 条件查询:WHERE 3.8 分页查询:LIMIT 4.修改数据 5.删除数…

Flutter开发中的线程与事件队列,如何实现高效优化?

Flutter 中线程简要介绍: 主 UI 线程: Flutter 的主 UI 线程通常称为 “UI Isolate”,它是单线程的,负责处理用户界面的渲染和响应用户输入。在主 UI 线程中运行的代码主要包括 Flutter 应用的 UI 组件构建、布局、绘制等操作&a…

基于DSP+FPGA的机载雷达伺服控制系统(二)电源仿真

板级电源分配网络的分析与仿真在硬件电路设计中,电源系统的设计是关键步骤之一,良好的电源系统为电路板 上各种信号的传输提供了保障。本章将研究电源完整性的相关问题,并提出一系列改 进电源质量的措施。 3.1 电源完整性 电源完整性&#xf…

7.思维题(0x3f:从周赛中学算法 2022下)

来自0x3f【从周赛中学算法 - 2022 年周赛题目总结(下篇)】:https://leetcode.cn/circle/discuss/WR1MJP/ 包含贪心、脑筋急转弯等,挑选一些比较有趣的题目。 注:常见于周赛第二题(约占 21%)、第…

【Linux】进程间通信 -- System V共享内存

前言 本篇博客介绍第二种进程间通信的方式 – System V System V 有三种方式: 共享内存 消息队列 信号量 本篇博客对于系统调用的函数,会进行一定的封装 文章目录 前言一. System V 共享内存二. 共享内存的原理三. 共享内存的创建四. 共享内存的查看和删…

MinGW MinGW-W64介绍

Table of content 0 Preface/Foreword 1 MinGW-w64 1.1 使用MinGW-w64的原因 1.2 MinGW-w64使用场景 1.3 官网 2 GCC & LLVM 2.1 编译器构成 2.2 GCC 2.3 LLVM 2.3.1 Clang 0 Preface/Foreword MInGW全称为:Minimalist GNU on Windows.将经典的开源C…

Unity VFX -- (4)创建burst粒子效果

如果用户成功达成某个目标,我们可以使用一个爆裂的礼花来激励用户。如果角色挥舞刀剑,我们可以做出剑气来增加气势。如果角色落到地面上,我们可以在脚部做出飞舞的灰尘来增加表现力。这些都可以视为burst粒子效果。 下面是一些burst粒子效果&…

JVM学习(六):类加载子系统

目录 〇、前言 一、类加载子系统 1.1 内存结构概述 1.2 类加载器及类加载过程概述 1.2.1 类加载器 1.2.2 类加载过程 1.3 类加载过程一:Loading 1.3.1 加载过程 1.3.2 加载类的方式 1.4 类加载过程二:Linking 1.4.1 验证(Verify) 1.4.…

贯穿设计模式第八话--设计原则总结篇

🥳🥳🥳 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,我是最爱吃鱼罐头,大家可以叫鱼罐头呦~🥳🥳🥳 从今天开始,将…

在uos上编译opencv

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 下载源码并创建build文件夹 系统环境为操作系统为:UnionTech OS Server 20 Enterprise,处理器为: 华为鲲鹏处理器(ar…

C++11(上)

目录 1:列表初始化 2:std::initializer_list 3:变量类型推导 3.1:auto推导类型 3.2:decltype 3.3:nullptr 4:范围for 5:STL新增容器和容器新增接口 5.1:array 6:左值引用和右值引用 6.1:左值 6.2:右值 6.3:左值引用 6.4:右值引用 6.5:左值…

python常用库之time库

目录 一、前言time库中的常用函数 二、time()函数三、localtime()和gmtime()函数四、strftime() 、asctime()、mktime()函数(一)strftime()函数(二)asctime()函数(三)mktime()函数 五、ctime()函数六、stri…

【2023最新】超详细图文保姆级教程:App开发新手入门(5)

上文回顾,我们已经完成了一个应用的真机调试,本章我们来了解一下如何引入YonBuilder移动开发的(原生)移动插件, 并利用移动插件完成一个简单的视频播放器。 8. 「移动插件」的使用 8.1 什么是 「移动插件」? 用通俗…

TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:1~5

原文:Mobile Deep Learning with TensorFlow Lite, ML Kit and Flutter 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的…

【高危】Apache Spark 权限提升漏洞(CVE-2023-22946)

漏洞描述 Apache Spark 是一款支持非循环数据流和内存计算的大规模数据处理引擎。 使用 spark-submit 脚本在集群中启动任务可以通过指定proxy-user参数限制运行用户。在 Apache Spark 受影响版本中,攻击者通过指定自定义的classpath,则可以覆盖该配置…

2023最新面试题-Java-3

IO流 1. java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流 的角色划分为节点流和处理流。 Java Io 流共涉及 40 多个类,这些类看上去很杂乱&…

ChatGPT 70+款可以免费使用的AI工具,建议收藏

ChatGPT风靡全球,人人可用! 小红书上有关ChatGPT的笔记已有10w篇,相关话题浏览量也达到了1.12亿次。其中讨论最为热烈的,要数“ChatGPT使用教程”。(当然,类似的话题还包括,教你如何使用Midjour…

Navicat图表查看器 Crack

Navicat图表查看器 Crack Navicat图表查看器是一个查看图表工作区文件的简单工具。您可以浏览Navicat的图表工具和Navicat图表创建者创建的区域。 Navicat图表查看器,将图表中的数据显示为强大的可视化效果,允许您使用图形和图表查看数据。 将您的信息转…

Internet Download Manager(IDM)v6.41.11 免激活不弹窗版

Internet Download Manager(IDM)v6.41.11 免激活不弹窗版可提升你的下载速度多达5倍,安排下载时程,或续传一半的软件。Internet Download Manager的续传功能可以恢复因为断线、网络问题、计算机宕机甚至无预警的停电导致下传到一半…