首頁  >  文章  >  後端開發  >  PHP程式找出出現奇數次的數字

PHP程式找出出現奇數次的數字

王林
王林原創
2024-08-28 12:30:42984瀏覽

PHP Program to Find the Number Occurring Odd Number of Times

什麼是 PHP?

PHP(超文本預處理器)是一種廣泛用於 Web 開發的伺服器端腳本語言。它允許開發人員將程式碼嵌入 HTML 文件中,從而能夠創建動態網頁並與資料庫互動。 PHP 以其簡單性、多功能性以及與流行資料庫的廣泛整合能力而聞名。它提供了廣泛的擴展,並擁有龐大的開發人員社區,確保了充足的資源和支援。

找出出現奇數次的數字的 PHP 程式

「數字出現奇數次」的概念是指在陣列中找到一個出現奇數次的數字,而其他數字都出現偶數次。換句話說,數組中只有一個數字的計數為奇數,而所有其他數字的計數均為偶數。

範例

我們舉個例子來說明這個概念:

考慮以下數組:[2, 3, 4, 3, 1, 4, 2, 1, 1]

在這個陣列中,除了數字 1 之外的所有數字都出現了偶數次。數字1出現了3次,是奇數。因此,數字 1 是該數組中出現奇數次的數字。

該程式可以使用各種方法來實現,例如雜湊、位元運算或排序。

方法1-使用排序

<?php

function findOddNumber($arr) {
   $count = array();

   foreach($arr as $num) {
      if(isset($count[$num])) {
         $count[$num]++;
      } else {
         $count[$num] = 1;
      }
   }

   foreach($count as $num => $occurrences) {
      if($occurrences % 2 != 0) {
         return $num;
      }
   }

   return -1; // If no number occurs an odd number of times
}

// Example usage

$arr = array(5, 7, 2, 7, 5, 2, 1, 1, 9, 9, 9);
$oddNumber = findOddNumber($arr);

if($oddNumber != -1) {

   echo "The number occurring an odd number of times is: " . $oddNumber;
} else {

   echo "No number occurs an odd number of times in the array.";
}
?>

輸出

The number occurring an odd number of times is: 9

方法 2 - 使用雜湊

<?php
function findOddNumber($arr) {
   $hash = array();
   foreach($arr as $num) {
      if(isset($hash[$num])) {
         $hash[$num]++;
      } else {
         $hash[$num] = 1;
      }
   }
   foreach($hash as $num => $occurrences) {
      if($occurrences % 2 != 0) {
         return $num;
      }
   }
   return -1; // If no number occurs an odd number of times
}  
// Example usage
$arr = array(2, 3, 4, 3, 1, 4, 2, 1, 1);
$oddNumber = findOddNumber($arr);
if($oddNumber != -1) {
   echo "The number occurring an odd number of times is: " . $oddNumber;
} else {
   echo "No number occurs an odd number of times in the array.";
}
?>

輸出

The number occurring an odd number of times is: 1

方法 3 - 使用位元異或運算。

<?php
function odd_occurrence($arr)
{
   $result = 0;

   # Traverse the array
   foreach ($arr as &$value)
   {
      # Xor (exclusive or)
      # Bits that are set in $a or $b but not both are set.
      $result = $result ^ $value;
   }
   return $result;
}
$num1 = array( 3, 5, 6, 2, 3, 6, 2, 5, 7);
print_r(odd_occurrence($num1)."<br>");
?>

輸出

7

結論

總之,PHP 程式有效地辨識了數組中出現奇數次的數字。它為各種應用和演算法提供了可靠的解決方案。透過迭代數組並追蹤每個數字的計數,程式可以準確地識別具有奇數計數的數字。

用來尋找出現奇數次的數字的 PHP 程式是利用雜湊概念的有效解決方案。它需要一個輸入數組並使用哈希表來儲存每個數字的計數。透過迭代哈希表,它識別出奇數計數的數字,表示該數字在數組中出現了奇數次。使用雜湊技術,程式的時間複雜度為 O(n),其中 n 是輸入陣列的大小。這使其成為尋找數組中出現奇數次的數字的最佳解決方案,為各種應用和演算法提供可靠的工具。

程式可以利用位元異或運算來找出出現奇數次的數字。透過對數組中的所有元素進行異或運算,程式可以有效地提取唯一的數字。

以上是PHP程式找出出現奇數次的數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP 分頁下一篇:PHP 分頁