-
September 12th, 2020, 13:40
#1
پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
سلام و درود
یه آرایه ای دارم به شکل زیر:
کد:
[
[20, 70, 10, 1]
[50, 10, 40, 0]
[80, 0, 20, -1]
]
آرایه فوق حدود 100 هزار آرایه با فرمتی که بالا گفتم داخلش هست.
حالا یه آرایه دیگه دارم با به طور مثال با مقادیر زیر:
هدفم اینه که با روشی بفهمم که آرایه ای که به عنوان ورودی میدم از توی اون لیست 100 هزار تایی بیشتر شباهت رو با کدوم آیتم داره؟
سپاس
-
-
September 12th, 2020 13:40
# ADS
-
September 12th, 2020, 20:15
#2
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها

نوشته اصلی توسط
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);
به نظر این جواب بده تست کنید باز
ویرایش توسط hoka : September 19th, 2020 در ساعت 13:49
-
تعداد تشکر ها از hoka به دلیل پست مفید
-
September 18th, 2020, 15:42
#3
عضو جدید
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها
کد 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 باشد یعنی چیزی پیدا نشد. و اگر هم مقداری داشت که به راحتی میتوان در آرایه اصلی مقدار را پیدا کرد
-
-
September 18th, 2020, 15:51
#4
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها

نوشته اصلی توسط
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 باشد یعنی چیزی پیدا نشد. و اگر هم مقداری داشت که به راحتی میتوان در آرایه اصلی مقدار را پیدا کرد
گفتی اگه فقط مساوی بود بریز تو آرایه، اگه مساوی وجود نداشت چی ؟ نوشته امکان داره نزدیک به عدد اصلی باشه.
-
-
September 18th, 2020, 15:55
#5
عضو جدید
پاسخ : پیدا کردن نزدیک ترین آرایه در آرایه ای از آرایه ها

نوشته اصلی توسط
nevergotme
گفتی اگه فقط مساوی بود بریز تو آرایه، اگه مساوی وجود نداشت چی ؟ نوشته امکان داره نزدیک به عدد اصلی باشه.
من مساوی گذاشتم شما میتونی مثلا بگی بین این عدد و اون عدد بود یا مثلا اینقدر بیشتر یا کمتر بود و ........
-