判斷perl裡兩個簡單hash是否相等的方法

2021-07-09 04:38:21 字數 628 閱讀 9101

對於形如:

my $h = ;

的hash,你要怎麼比較他們是否相等呢,比較普遍的方法是遍歷所有key,然後看下相應的key在兩個hash中對應的value是否相等。可以用hash來記錄每個key對應的每個value出現的次數,先記錄乙個hash,然後再遍歷第二個hash的時候,如果發現有個key對應的value出現的次數為1,那麼這兩個hash即不想等。**如下所示

#/bin/perl -w 

sub is_hash_equal ;

map ->}++ } keys %$h;

my $ans = grep ->} == 1} keys %$h2;

if ($ans) else

}my $h = ;

my $h2 = ;

my $h3 = ;

my $ret = is_hash_equal($h, $h2);

print $ret;

$ret = is_hash_equal($h, $h3);

print $ret;

$ret = is_hash_equal($h2, $h3);

print $ret;

判斷兩個線段相交

我們首先將問題分成如下幾個小問題討論 首先要解決的第乙個問題是判斷直線是否平行,我們首先假設四個點的座標為 前兩個點為a x1,y1 b x2,y2 後兩個點為 c x3,y3 d x4,y4 求出兩個直線的方向向量e1 x 1 x2 y1 y2 e2 x 3 x4 y3 y4 通過e 1 e2 求...

兩個簡單的迴圈

1.create or replace procedure pro test 01 is begin for aa in select object name from test 01 loop insert into test 02 values aa.object name end loop e...

51nod 1557 兩個集合 hash

1557 兩個集合 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 小x有n個互不相同的整數 p1 p2,pn。他想把這些整數分到兩個集合a和b裡邊。但是要符合下面兩個條件。如果x屬於a,那麼a x也肯定屬於a。如果x屬於b,那麼b x也肯定...