tft每日頭條

 > 圖文

 > perl如何傳遞參數

perl如何傳遞參數

圖文 更新时间:2025-02-11 07:48:47

perl如何傳遞參數?把相同的詞彙、句子或字符串,在文中調換位置或颠倒過來,産生首尾回環的結構,叫做回文例如:知難而退,退難而知,我來為大家科普一下關于perl如何傳遞參數?以下内容希望對你有幫助!

perl如何傳遞參數(Perl實例構造回文)1

perl如何傳遞參數

把相同的詞彙、句子或字符串,在文中調換位置或颠倒過來,産生首尾回環的結構,叫做回文。例如:知難而退,退難而知

為了形成回文結構,可以通過在字符串前增加字符的方式來構造。例如序列:AACTCAAA,通過在前面增加A堿基,即可形成回文:AAACTCAAA。

解題思路:

我們需要在字符串前面加字符來構造回文, 那麼我們可以反向的, 也就是在字符串結尾依次删除字符, 來判斷是否回文, 這樣可以得到所需添加的所有字符。

my $str = 'atacg';

由于我們每次删除一個字符, 都需要來判斷是否回文, 因此我們把這個判斷過程獨立出來, 單獨寫成一個方法。

sub is_hui{ my $str = shift; my @str = split '', $str; my @re_str = reverse @str; for my $s(@str){ my $ss = shift @re_str; if($s ne $ss){ return 0; } } return 1; }

現将字符串切割成字符數組

my @strs = split '', $str;

定義一個數組, 用來按順序記錄被删除的字符

my @poped;

循環操作, 每次删除最後面一個字符, 存入@poped數組, 然後測試是否是回文, 如是回文, 則依次在左側增加删除的元素即成回文了, 如不是則依次繼續循環:

while(1){ my $poped = pop @strs; my $str_tmp = join '', @strs; push @poped, $poped; if(is_hui($str_tmp)){ my $pre = join '', @poped; print "$pre$str\n"; exit; } }

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved