با استفاده از C# و متد Array.Find، در یک آرایه از مقادیر درصد مصرف CPU هر فرآیند، اولین فرآیندی که مقدار مصرف CPU آن از یک آستانه معلوم بالاتر است پیدا کرده و مقدار و اندیس آن را چاپ کنید.
15.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:54 0.0
برای حل، از Array.Find(array, x => x > threshold) برای گرفتن اولین مقدار منطبق استفاده کنید و سپس برای بدست آوردن اندیس آن از Array.IndexOf(array, foundValue) یا بهطور مستقیم از Array.FindIndex(array, x => x > threshold) بهره ببرید؛ همیشه نتیجه را چک کنید چون در صورت نبودن، مقدار پیشفرض برمیگردد. این تکنیک برای پردازش دادههای عملکرد سیستم (Systems Programming)، تحلیل سریع مقادیر در دادهکاوی (Data Science) و در موارد نیاز به پردازش سریع آرایهها در محیطهای HPC مفید است — از لامبداها برای شرطها استفاده کنید و برای آرایههای خیلی بزرگ به هزینهٔ زمان جستجو توجه داشته باشید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای یافتن اولین مقدار بالاتر از آستانه در آرایه، از Array.Find(array, x => x > threshold) استفاده کنید. برای بهدست آوردن اندیس آن میتوانید یا Array.FindIndex(array, x => x > threshold) را به کار ببرید یا مقدار یافتشده را با Array.IndexOf(array, foundValue) بیابید. حتماً نتیجه را بررسی کنید، چون اگر هیچ مقدار بالاتر از آستانه نباشد، Array.Find مقدار پیشفرض نوع را برمیگرداند و FindIndex نیز -1 میدهد. این روش برای تحلیل سریع دادههای عملکردی و آرایههای بزرگ با هزینهٔ جستجو همراه است و در پردازشهای HPC یا دادهکاوی مفید است.
گزارش