پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
سلام و درود
یه آرایه ای دارم به شکل زیر:
کد:
[
[20, 70, 10, 1]
[50, 10, 40, 0]
[80, 0, 20, -1]
]
آرایه فوق حدود 100 هزار آرایه با فرمتی که بالا گفتم داخلش هست.
حالا یه آرایه دیگه دارم با به طور مثال با مقادیر زیر:
هدفم اینه که با روشی بفهمم که آرایه ای که به عنوان ورودی میدم از توی اون لیست 100 هزار تایی بیشتر شباهت رو با کدوم آیتم داره؟
سپاس
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
نقل قول:
نوشته اصلی توسط
esi20
سلام و درود
یه آرایه ای دارم به شکل زیر:
کد:
[
[20, 70, 10, 1]
[50, 10, 40, 0]
[80, 0, 20, -1]
]
آرایه فوق حدود 100 هزار آرایه با فرمتی که بالا گفتم داخلش هست.
حالا یه آرایه دیگه دارم با به طور مثال با مقادیر زیر:
هدفم اینه که با روشی بفهمم که آرایه ای که به عنوان ورودی میدم از توی اون لیست 100 هزار تایی بیشتر شباهت رو با کدوم آیتم داره؟
سپاس
کد PHP:
<?php
$first_array = [
[20, 70, 10, 1],
[50, 10, 40, 0],
[80, 0, 20, -1],
[20, 71, 10, 1]
];
$sec_array = [30, 50, 20, 1];
$res = array();
foreach($first_array as $key=>$value){
$res_sum = 0;
foreach($value as $key_2 => $value_2){
$res_sum += abs($sec_array[$key_2] - $value_2);
}
$res[$key] = $res_sum;
}
asort($res);
$value = reset($res);
$key = key($res);
به نظر این جواب بده تست کنید باز
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
کد PHP:
$main_array ; ////////آرایه بزرگ که قرار است در آن جستجو شود///////////
$search_for = array(30,50,20,1);
$i = -1;
foreach($main_array as $k=>$v){
if($v[0] == $search_for[0] && $v[1] == $search_for[1] && $v[2] == $search_for[2] && $v[3] == $search_for[3] & ){
$i = $k
break;
}
}
در مثال بالا $i اندیس مورد نظر را بر میگرداند . اگر -1 باشد یعنی چیزی پیدا نشد. و اگر هم مقداری داشت که به راحتی میتوان در آرایه اصلی مقدار را پیدا کرد
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
نقل قول:
نوشته اصلی توسط
arash_fa
کد PHP:
$main_array ; ////////آرایه بزرگ که قرار است در آن جستجو شود///////////
$search_for = array(30,50,20,1);
$i = -1;
foreach($main_array as $k=>$v){
if($v[0] == $search_for[0] && $v[1] == $search_for[1] && $v[2] == $search_for[2] && $v[3] == $search_for[3] & ){
$i = $k
break;
}
}
در مثال بالا $i اندیس مورد نظر را بر میگرداند . اگر -1 باشد یعنی چیزی پیدا نشد. و اگر هم مقداری داشت که به راحتی میتوان در آرایه اصلی مقدار را پیدا کرد
گفتی اگه فقط مساوی بود بریز تو آرایه، اگه مساوی وجود نداشت چی ؟ نوشته امکان داره نزدیک به عدد اصلی باشه.
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
نقل قول:
نوشته اصلی توسط
nevergotme
گفتی اگه فقط مساوی بود بریز تو آرایه، اگه مساوی وجود نداشت چی ؟ نوشته امکان داره نزدیک به عدد اصلی باشه.
من مساوی گذاشتم شما میتونی مثلا بگی بین این عدد و اون عدد بود یا مثلا اینقدر بیشتر یا کمتر بود و ........