使用給定的操作將數組縮減為一個元素
給定一個整數變數 Number 作為輸入。讓我們考慮一個按排序順序包含 1 到 Number 範圍內的元素的陣列。如果我們對陣列執行操作,則每一步都會刪除奇數位置的元素。那麼目標就是執行這個操作N 直到只剩下一個元素為止的次數。在末尾列印該元素。
注意 -:元素的定位使得索引 0 處的陣列位於第 1 個位置,依此類推。
元素數量的測試案例在陣列中
輸入數字=1,輸出= 1
輸入數字=2,輸出= 2
輸入數字=3,輸出= 2
>輸入數量=4,輸出=4
輸入數量=5,輸出=4
輸入數量=6,輸出=4
輸入數量=7,輸出= 4
......
輸入數量=12,輸出= 8
輸入數量=20,輸出= 16
根據上述觀察,對於2i 到2i 1-1 之間的數字範圍,輸出將為2i .
範例
輸入−Number=7
##− 單一歸約運算後的元素為:4
解釋− 第一個元素位於位置1,依此類推。
陣列將為[ 1 2 3 4 5 6 7 ]
第一次操作後:[ 2 4 6 ]
第二次操作後:[ 4 ]
輸入 − 數字=18
輸出− 歸約運算後的單一元素為:4
解釋 − 第一個元素位於位置1 且
陣列將是[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ]
#第一次操作後: [ 2 4 6 8 10 12 14 16 18]
第2 次操作後:[ 2 8 12 16 ]
#第3 次操作後:[ 8 16 ]
第4 次操作後[ 16 ]
下面程式中使用的方法如下
在這個方法中,我們將使用while 迴圈根據上面的公式計算最終結果。以初始值為2,遍歷直到2*結果
-
取輸入變數Number
函數 getsingleElement(long num) 取得輸入數字並依照上述公式列印結果。
取得變數結果。
用2初始化結果。
使用while迴圈遍歷,直到結果*2 li>
will 內的雙倍結果。
一旦 while 迴圈結束,我們就會得到所需的值。
在main中列印結果。
傳回結果。
範例
#include<bits/stdc++.h> using namespace std; long getsingleElement(long num){ long result; result=2; while(result*2 <= num){ result=result*2; } return result; } int main(){ int Number = 20; cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ; return 0; }
輸出
如果我們執行上面的程式碼,它將產生以下輸出
The single element after reduction operation is : 16
以上是使用給定的操作將數組縮減為一個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用foreach循環移除PHP數組中重複元素的方法如下:遍歷數組,若元素已存在且當前位置不是第一個出現的位置,則刪除它。舉例而言,若資料庫查詢結果有重複記錄,可使用此方法移除,得到不含重複記錄的結果。

PHP中深度複製數組的方法包括:使用json_decode和json_encode進行JSON編碼和解碼。使用array_map和clone進行深度複製鍵和值的副本。使用serialize和unserialize進行序列化和反序列化。

PHP數組鍵值翻轉方法效能比較顯示:array_flip()函數在大型數組(超過100萬個元素)下比for迴圈效能更優,耗時更短。手動翻轉鍵值的for迴圈方法耗時相對較長。

多維數組排序可分為單列排序和嵌套排序。單列排序可使用array_multisort()函數依列排序;巢狀排序需要遞歸函數遍歷陣列並排序。實戰案例包括按產品名稱排序和按銷售量和價格複合排序。

PHP的array_group_by函數可依鍵或閉包函數將陣列中的元素分組,傳回關聯數組,其中鍵為組名,值是屬於該組的元素數組。

在PHP中執行陣列深度複製的最佳實踐是:使用json_decode(json_encode($arr))將陣列轉換為JSON字串,然後再轉換回陣列。使用unserialize(serialize($arr))將陣列序列化為字串,然後將其反序列化為新陣列。使用RecursiveIteratorIterator迭代器對多維數組進行遞歸遍歷。

目錄Astar Dapp 質押原理質押收益 拆解潛在空投項目:AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap 質押策略 & 操作“AstarDapp質押”今年初已升級至V3版本,對質押收益規則做了不少調整。目前首個質押週期已結束,第二質押週期的「投票」子週期剛開始。若要獲得「額外獎勵」收益,需掌握此關鍵階段(預計持續至6月26日,現餘不到5天)。我將細緻拆解Astar質押收益,

PHP的array_group()函數可用來按指定鍵對陣列進行分組,以尋找重複元素。函數透過以下步驟運作:使用key_callback指定分組鍵。可選地使用value_callback確定分組值。對分組元素進行計數並識別重複項。因此,array_group()函數對於尋找和處理重複元素非常有用。
