logo
সম্পর্কে সর্বশেষ কোম্পানী কেস
ব্লগের বিস্তারিত
বাড়ি > ব্লগ >

কোম্পানির ব্লগ সম্বন্ধে বহিরঙ্গন আলোর বাক্সগুলির গুণগত বিপ্লব, উভয় স্থায়িত্ব এবং আলংকারিক মান উন্নত

ঘটনাবলী
আমাদের সাথে যোগাযোগ
Ms. Luna
86-137-9834-3469
এখনই যোগাযোগ করুন

বহিরঙ্গন আলোর বাক্সগুলির গুণগত বিপ্লব, উভয় স্থায়িত্ব এবং আলংকারিক মান উন্নত

2026-01-04

আউটডোর লাইট বক্সের গুণমানের বিপ্লব: স্থায়িত্ব এবং আলংকারিক মান উন্নত

বিশ্বব্যাপী শহুরে আপগ্রেডিং এবং ক্রমবর্ধমান নাইট অর্থনীতির পটভূমিতে, আউটডোর লাইট বক্স শিল্প একটি গভীর মানের বিপ্লবের মধ্য দিয়ে যাচ্ছে। তথ্য প্রচারের মৌলিক ফাংশনের মধ্যে আর সীমাবদ্ধ নয়, আধুনিক বহিরঙ্গন আলো বাক্সগুলি উন্নত উপাদান প্রযুক্তি, উদ্ভাবনী নকশা ধারণা এবং ক্রমবর্ধমান কঠোর বাজারের চাহিদা দ্বারা চালিত স্থায়িত্ব এবং শোভাময় মূল্যের যুগপত উন্নতির সাক্ষ্য দিচ্ছে। এই রূপান্তরটি শুধুমাত্র শিল্পের দীর্ঘস্থায়ী ব্যথার পয়েন্টগুলিকে সম্বোধন করে না বরং বাইরের আলোর বাক্সগুলিকে শহুরে ল্যান্ডস্কেপ এবং বাণিজ্যিক পরিস্থিতিগুলির সাথে আরও ভালভাবে সংহত করতে সক্ষম করে, যা সেক্টরের জন্য উচ্চ-মানের উন্নয়নের একটি নতুন পর্যায় চিহ্নিত করে৷

স্থায়িত্ব বর্ধন চলমান মানের বিপ্লবের ভিত্তি হিসাবে দাঁড়িয়েছে, যা সরাসরি শিল্পের স্বল্প পরিষেবা জীবন এবং উচ্চ রক্ষণাবেক্ষণ খরচের ঐতিহাসিক চ্যালেঞ্জ মোকাবেলা করে। প্রথাগত বহিরঙ্গন আলোর বাক্সগুলি, প্রায়শই সাধারণ প্লাস্টিক এবং পাতলা-গেজ ধাতু দিয়ে নির্মিত, কঠোর বহিরঙ্গন অবস্থা থেকে ক্ষতির জন্য অত্যন্ত সংবেদনশীল ছিল - UV বিকিরণ যা বিবর্ণ হয়ে যায়, ভারী বৃষ্টিপাতের ফলে জল বেরিয়ে যায় এবং চরম তাপমাত্রার ফলে বিকৃতি ঘটে। সাধারণত, তাদের পরিষেবা জীবন মাত্র 3 থেকে 5 বছর পর্যন্ত, ব্যবহারকারীদের উপর যথেষ্ট রক্ষণাবেক্ষণের বোঝা চাপিয়ে দেয়। যাইহোক, উচ্চ-পারফরম্যান্স উপকরণ এবং উন্নত উত্পাদন প্রক্রিয়া গ্রহণ এই পরিস্থিতিকে মৌলিকভাবে বিপরীত করেছে।

উৎপাদনকারীরা এখন পণ্যের দীর্ঘায়ু বাড়াতে প্রিমিয়াম, আবহাওয়া-প্রতিরোধী উপকরণ ব্যবহারকে অগ্রাধিকার দিচ্ছে। উদাহরণস্বরূপ, এন্টি-ইউভি পরিবর্তিত এক্রাইলিক, প্রচলিত এক্রাইলিক শীটগুলিকে প্রতিস্থাপন করেছে, 5 বছর একটানা বহিরঙ্গন এক্সপোজারের পর তার আসল রঙের 90% এরও বেশি ধরে রেখেছে- যা ঐতিহ্যগত উপকরণের 60% ধরে রাখার হারকে ছাড়িয়ে গেছে। জারা-প্রতিরোধী কম-কার্বন অ্যালুমিনিয়াম অ্যালয়গুলি হালকা বাক্স ফ্রেমের জন্য পছন্দের পছন্দ হয়ে উঠেছে, যা ঐতিহ্যগত ইস্পাতের তুলনায় 50% বেশি জারা প্রতিরোধের এবং 30% হালকা ওজনের প্রস্তাব দেয়, যখন কাঠামোগত পরিষেবা জীবন 8 থেকে 10 বছর পর্যন্ত প্রসারিত করে। উপরন্তু, IP67-স্তরের জলরোধী এবং ধুলোরোধী প্রযুক্তির ব্যাপক প্রয়োগ, নির্বিঘ্ন ঢালাই প্রক্রিয়ার সাথে, নিশ্চিত করে যে বহিরঙ্গন আলোর বাক্সগুলি ভারী বালির ঝড়, মুষলধারে বৃষ্টি এবং উচ্চ-তাপমাত্রার তাপপ্রবাহের মতো চরম পরিবেশে স্থিরভাবে কাজ করতে পারে। শিল্প সমীক্ষার ডেটা দেখায় যে এই আপগ্রেডগুলি রক্ষণাবেক্ষণের ফ্রিকোয়েন্সি 60% কমিয়েছে এবং বার্ষিক রক্ষণাবেক্ষণের খরচ গড়ে 45% কমিয়েছে, গ্রাহকদের জন্য বহিরঙ্গন আলো বাক্সগুলির ব্যয়-কার্যকারিতা উল্লেখযোগ্যভাবে বৃদ্ধি করেছে।

স্থায়িত্বের উন্নতির সমান্তরালে, শোভাময় মূল্যের বৃদ্ধি গুণগত বিপ্লবের একটি মূল চালক হিসাবে আবির্ভূত হয়েছে, যা শহুরে নির্মাণ এবং বাণিজ্যিক ব্র্যান্ডিং-এ নান্দনিক একীকরণের ক্রমবর্ধমান চাহিদা পূরণ করে। একঘেয়ে, প্রমিত আয়তক্ষেত্রাকার আলোর বাক্সের যুগ ধীরে ধীরে ম্লান হয়ে যাচ্ছে; আধুনিক বহিরঙ্গন আলোর বাক্সগুলি বিভিন্ন ডিজাইন, কাস্টমাইজযোগ্য আকার এবং গতিশীল ভিজ্যুয়াল এফেক্টগুলিকে আলিঙ্গন করছে, যা সাধারণ বিজ্ঞাপন বাহক থেকে শহুরে এবং বাণিজ্যিক নন্দনতত্ত্বের অবিচ্ছেদ্য উপাদানগুলিতে রূপান্তরিত হচ্ছে।

প্রযুক্তিগত উদ্ভাবন এবং ডিজাইন আপগ্রেডগুলি শোভাময় মূল্যে লাফিয়ে উঠছে। অতি-পাতলা নরম ফিল্ম লাইট বক্স, যার পুরুত্ব মাত্র 2 থেকে 3 সেন্টিমিটার, একটি মসৃণ এবং ন্যূনতম চেহারা নিয়ে গর্ব করে যা আধুনিক বাণিজ্যিক কমপ্লেক্স থেকে ঐতিহাসিক পথচারী রাস্তায় বিভিন্ন স্থাপত্য শৈলীর সাথে নির্বিঘ্নে মিশে যায়। আরজিবি ফুল-কালার এলইডি ব্যাকলাইটিং প্রযুক্তির প্রয়োগ আলোর উজ্জ্বলতা, রঙের তাপমাত্রা এবং গতিশীল ট্রানজিশন, গ্রেডিয়েন্ট লাইটিং, স্ক্রলিং অ্যানিমেশন এবং এমনকি সিঙ্ক্রোনাইজড অডিও-ভিজ্যুয়াল ডিসপ্লে সমর্থন করে সুনির্দিষ্ট নিয়ন্ত্রণ সক্ষম করে। কাস্টম-আকৃতির আলোর বাক্স, নির্দিষ্ট পরিস্থিতি এবং ব্র্যান্ড পরিচয়ের জন্য তৈরি, এছাড়াও জনপ্রিয়তা অর্জন করছে-উদাহরণস্বরূপ, সাংস্কৃতিক জেলায় ঐতিহাসিক ভবনগুলির রূপরেখা অনুকরণ করার জন্য ডিজাইন করা হালকা বাক্স, বা বাণিজ্যিক প্লাজাগুলিতে ব্র্যান্ড-লোগো-আকৃতির আলোক বাক্স। এই নান্দনিক বর্ধনগুলি প্রাক-গণনার নয়: সমস্যাটি আমাদেরকে সূচকের জোড়ার সংখ্যা `(i, j)` যেমন `i < j` এবং `সংখ্যা[i] == 2 * সংখ্যা[j]` খুঁজতে বলে। একটি উদাহরণ বিবেচনা করা যাক: `সংখ্যা = [2, 4, 8]` জোড়া `(i, j)` এর সাথে `i < j`: - `(0, 1)`: `সংখ্যা[0] = 2`, `সংখ্যা[1] = 4`। `2 == 2 * 4` মিথ্যা। - `(0, 2)`: `সংখ্যা[0] = 2`, `সংখ্যা[2] = 8`। `2 == 2 * 8` মিথ্যা। - `(1, 2)`: `সংখ্যা[1] = 4`, `সংখ্যা[2] = 8`। `4 == 2 * 8` মিথ্যা। উদাহরণ 2: `সংখ্যা = [1, 2, 1, 2]` - `(0, 1)`: `সংখ্যা[0] = 1`, `সংখ্যা[1] = 2`। `1 == 2 * 2` মিথ্যা। - `(0, 2)`: `সংখ্যা[0] = 1`, `সংখ্যা[2] = 1`। `1 == 2 * 1` মিথ্যা। - `(0, 3)`: `সংখ্যা[0] = 1`, `সংখ্যা[3] = 2`। `1 == 2 * 2` মিথ্যা। - `(1, 2)`: `সংখ্যা[1] = 2`, `সংখ্যা[2] = 1`। `2 == 2 * 1` সত্য। গণনা = 1। - `(1, 3)`: `সংখ্যা[1] = 2`, `সংখ্যা[3] = 2`। `2 == 2 * 2` মিথ্যা। - `(2, 3)`: `সংখ্যা[2] = 1`, `সংখ্যা[3] = 2`। `1 == 2 * 2` মিথ্যা। মোট গণনা = 1. একটি নিষ্পাপ পদ্ধতি হল সমস্ত সম্ভাব্য জোড়া `(i, j)` এর মাধ্যমে `i < j` দিয়ে পুনরাবৃত্তি করা এবং শর্তটি পরীক্ষা করা। ```python def countPairsNaive(সংখ্যা): শ্রেণীতে i এর জন্য গণনা = 0 n = len(সংখ্যা): রেঞ্জে j এর জন্য(i + 1, n): যদি সংখ্যা[i] == 2 * সংখ্যা[j]: গণনা += 1 রিটার্ন কাউন্ট ``` এই পদ্ধতির একটি সময়ের জটিলতা রয়েছে যা O(n^2) এর জন্য খুব ধীর হতে পারে। (10^5)^2 = 10^10 অপারেশন। আমাদের আরও দক্ষ পদ্ধতির প্রয়োজন। চলুন 'সংখ্যা[i] == 2 * সংখ্যা[j]' শর্তটি বিশ্লেষণ করি। এটি `সংখ্যা[j] = সংখ্যা[i] / 2` এর সমতুল্য। প্রতিটি `সংখ্যা[i]` এর জন্য, আমরা `সংখ্যা[j]` খুঁজছি যেমন `সংখ্যা[j]` হল `সংখ্যা[i]` এর ঠিক অর্ধেক, এবং `j > i`। এই সমস্যাটির সাথে মিল রয়েছে "সমষ্টি K সহ জোড়া গণনা" বা "পার্থক্য K সহ জোড়া গণনা"। প্রায়শই, হ্যাশ ম্যাপ (অভিধান) ব্যবহার করে বা অ্যারে সাজানোর মাধ্যমে এবং দুটি পয়েন্টার ব্যবহার করে এই সমস্যাগুলি দক্ষতার সাথে সমাধান করা যেতে পারে। এর একটি হ্যাশ মানচিত্র ব্যবহার বিবেচনা করা যাক. আমরা অ্যারের মাধ্যমে বাম থেকে ডানে পুনরাবৃত্তি করতে পারি। প্রতিটি `সংখ্যা[i]` এর জন্য, আমরা জানতে চাই কতগুলি `সংখ্যা[j]` (যেখানে `j < i`) `সংখ্যা[i] == 2 * সংখ্যা[j]` পূরণ করে। সমস্যাটি যা জিজ্ঞাসা করে তা ঠিক নয় (`i < j`)। চলুন পুনরায় বাক্যাংশ করা যাক: প্রতিটি `সংখ্যা[j]` এর জন্য, আমরা জানতে চাই কতগুলি `সংখ্যা[i]` (যেখানে `i < j`) `সংখ্যা[i] == 2 * সংখ্যা[j]` পূরণ করে। যদি আমরা `0` থেকে `n-1` তে `j` পুনরাবৃত্তি করি: প্রতিটি `সংখ্যা[j]` এর জন্য, আমাদের `সংখ্যা[0], ..., সংখ্যা[j-1]` উপাদানগুলি দেখতে হবে। আমরা `সংখ্যা[i]` খুঁজছি যেমন `সংখ্যা[i] = 2 * সংখ্যা[j]`। আমরা এখন পর্যন্ত সম্মুখীন উপাদানগুলির একটি ফ্রিকোয়েন্সি মানচিত্র (বা একটি সেট) বজায় রাখতে পারি (যেমন, `সংখ্যা[0], ..., সংখ্যা[j-1]`)। যখন আমরা `সংখ্যা[j]` এ থাকি: 1. আমাদের পূর্ববর্তী উপাদানগুলির ফ্রিকোয়েন্সি মানচিত্রে `2 * সংখ্যা[j]` বিদ্যমান কিনা তা পরীক্ষা করুন। যদি এটি করে, তাহলে মোট গণনার সাথে এর ফ্রিকোয়েন্সি যোগ করুন। 2. আমাদের ফ্রিকোয়েন্সি ম্যাপে `সংখ্যা[j]` যোগ করুন। উদাহরণ: `সংখ্যা = [1, 2, 1, 2]` `freq_map = {}` `count = 0` `j = 0`, `nums[0] = 1`: - লক্ষ্য `2 * nums[0] = 2`। `freq_map`-এ `2` নেই। - `freq_map`-এ `সংখ্যা[0]` যোগ করুন: `freq_map = {1: 1}` `j = 1`, `nums[1] = 2`: - লক্ষ্য `2 * nums[1] = 4`। `freq_map`-এ `4` নেই। - `freq_map`-এ `সংখ্যা[1]` যোগ করুন: `freq_map = {1: 1, 2: 1}` `j = 2`, `সংখ্যা[2] = 1`: - লক্ষ্য `2 * সংখ্যা[2] = 2`। `freq_map` তে `1` ফ্রিকোয়েন্সি সহ `2` আছে। - `গণনা += freq_map[2]` => `গণনা = 1`। - `freq_map`-এ `সংখ্যা[2]` যোগ করুন: `freq_map = {1: 2, 2: 1}` `j = 3`, `সংখ্যা[3] = 2`: - লক্ষ্য `2 * সংখ্যা[3] = 4`। `freq_map`-এ `4` নেই। - `freq_map`-এ `সংখ্যা[3]` যোগ করুন: `freq_map = {1:2, 2:2}` চূড়ান্ত `গণনা = 1`। এই উদাহরণ মেলে. এই পদ্ধতির গড়ে O(n) এর একটি সময় জটিলতা রয়েছে (হ্যাশ ম্যাপ অপারেশনের কারণে) এবং O(n) স্থান জটিলতা। এই যথেষ্ট দক্ষ হতে হবে. ঋণাত্মক সংখ্যা বা শূন্য সম্পর্কে কি? সমস্যা বিবৃতি বলছে `1 <= সংখ্যা[i] <= 10^9`। সুতরাং, সমস্ত সংখ্যা ধনাত্মক পূর্ণসংখ্যা। এটি জিনিসগুলিকে সরল করে কারণ আমাদের `সংখ্যা[j]` শূন্য বা ঋণাত্মক হওয়ার বিষয়ে চিন্তা করার দরকার নেই। আরেকটি উদাহরণ দিয়ে ড্রাই রান করা যাক: `সংখ্যা = [4, 2, 8, 1]` `freq_map = {}` `count = 0` `j = 0`, `nums[0] = 4`: - টার্গেট `2 * nums[0] = 8`। `freq_map`-এ `8` নেই। - `freq_map`-এ `সংখ্যা[0]` যোগ করুন: `freq_map = {4: 1}` `j = 1`, `nums[1] = 2`: - লক্ষ্য `2 * nums[1] = 4`। `freq_map` তে `1` ফ্রিকোয়েন্সি সহ `4` আছে। - `গণনা += freq_map[4]` => `গণনা = 1`। (জোড়া `(0, 1)`: `সংখ্যা[0]=4`, `সংখ্যা[1]=2`। `4 == 2*2` সত্য।) - `freq_map`-এর সাথে `সংখ্যা[1]` যোগ করুন: `freq_map = {4: 1, 2: 1}` `j = 2`, `t` = 2` = 2` = [2] = [2] 16`। `freq_map`-এ `16` নেই। - `freq_map`-এ `সংখ্যা[2]` যোগ করুন: `freq_map = {4: 1, 2: 1, 8: 1}` `j = 3`, `সংখ্যা[3] = 1`: - লক্ষ্য `2 * সংখ্যা[3] = 2`। `freq_map` তে `1` ফ্রিকোয়েন্সি সহ `2` আছে। - `count += freq_map[2]` => `গণনা = 1 + 1 = 2`। (জোড়া `(1, 3)`: `সংখ্যা[1]=2`, `সংখ্যা[3]=1`। `2 == 2*1` সত্য।) - `freq_map`-এ `সংখ্যা[3]` যোগ করুন: `freq_map = {4: 1, 2: 1, 8: 1, 1: 1` = unt ` unt`। আসুন এটি ম্যানুয়ালি যাচাই করি: `সংখ্যা = [৪, ২, ৮, ১]` - `(০, ১)`: `সংখ্যা[0]=৪`, `সংখ্যা[1]=২`। `4 == 2*2`। হ্যাঁ। - `(0, 2)`: `সংখ্যা[0]=4`, `সংখ্যা[2]=8`। `4 == 2*8` সংখ্যা - `(0, 3)`: `সংখ্যা[0]=4`, `সংখ্যা[3]=1`। `4 == 2*1` সংখ্যা - `(1, 2)`: `সংখ্যা[1]=2`, `সংখ্যা[2]=8`। `2 == 2*8` সংখ্যা - `(1, 3)`: `সংখ্যা[1]=2`, `সংখ্যা[3]=1`। `2 == 2*1`। হ্যাঁ। - `(2, 3)`: `সংখ্যা[2]=8`, `সংখ্যা[3]=1`। `8 == 2*1` সংখ্যা। মোট সংখ্যা = 2। মিল। হ্যাশ মানচিত্র পদ্ধতি সঠিক এবং দক্ষ বলে মনে হচ্ছে। সীমাবদ্ধতা বিবেচনা করা যাক: `1 <= সংখ্যা[i] <= 10^9`। হ্যাশ মানচিত্রের কীগুলি `10^9` পর্যন্ত হতে পারে৷ মান (ফ্রিকোয়েন্সি) `n` (10^5) পর্যন্ত হতে পারে। স্ট্যান্ডার্ড হ্যাশ মানচিত্র বাস্তবায়নের জন্য এটি ঠিক আছে। সমস্যা বিবৃতি সহজ এবং সরাসরি. কোন জটিল প্রান্ত ক্ষেত্রে সীমাবদ্ধতা দ্বারা প্রবর্তিত বলে মনে হচ্ছে. সংগ্রহ থেকে ```পাইথন ইম্পোর্ট ডিফল্টডিক্ট ক্লাস সমাধান: def countPairs(self, nums: list[int]) -> int: count = 0 # freq_map এ পর্যন্ত সম্মুখীন সংখ্যার ফ্রিকোয়েন্সি সংরক্ষণ করে (অর্থাৎ, nums[0]...nums[j-1]) freq_map = int এর মাধ্যমে #jd-এর জন্য ডিফল্টের মাধ্যমে ডিফল্ট করে পরিসরে(লেন(সংখ্যা)): # বর্তমান সংখ্যাগুলির জন্য [j], আমরা একটি পূর্ববর্তী সংখ্যাগুলি খুঁজছি [i] (যেখানে i < j) # যেমন সংখ্যাগুলি[i] == 2 * সংখ্যা [j]। # সুতরাং, আমরা পরীক্ষা করি যে আমাদের freq_map-এ 2 * nums[j] আছে কিনা। target_val = 2 * nums[j] যদি freq_map-এ target_val: গণনা += freq_map[target_val] # জোড়াগুলির জন্য সংখ্যাগুলি প্রসেস করার পরে যেখানে এটি দ্বিতীয় উপাদান, # ফ্রিকোয়েন্সি ম্যাপে nums[j] যোগ করুন যাতে এটি পরবর্তী সংখ্যাগুলির জন্য প্রথম উপাদান # হিসাবে ব্যবহার করা যেতে পারে [k] যেখানে k। freq_map[nums[j]] += 1 রিটার্ন কাউন্ট ``` চলুন আরেকবার লজিক চেক করি। যখন আমরা `সংখ্যা[j]` এ থাকি, তখন আমরা `i < j` খুঁজে পেতে চাই যে `সংখ্যা[i] = 2 * সংখ্যা[j]`। `freq_map` `k < j` এর জন্য `সংখ্যা[k]` এর সংখ্যা সঞ্চয় করে। সুতরাং, যখন আমরা `freq_map[2 * nums[j]]` চেক করি, আমরা প্রকৃতপক্ষে গণনা করছি কতগুলি `সংখ্যা[i]` (`i < j` সহ) শর্তটি পূরণ করে। তারপর, আমরা `freq_map`-এ `সংখ্যা[j]` যোগ করি যাতে ভবিষ্যতে `সংখ্যা[k]` (`k > j` সহ) এর জন্য গণনা করা যায়। এই যুক্তি শব্দ. `2 * সংখ্যা[j]` এর সর্বাধিক মান বিবেচনা করুন। যদি `সংখ্যা[j]` হয় `10^9`, তাহলে `2 * nums[j]` হয় `2 * 10^9`। এটি স্ট্যান্ডার্ড পূর্ণসংখ্যা প্রকারের মধ্যে ফিট করে। সমাধান শক্তিশালী বলে মনে হচ্ছে। সমস্যার বিবৃতিতে চূড়ান্ত পরীক্ষা: "0-সূচীযুক্ত পূর্ণসংখ্যা অ্যারে সংখ্যা দেওয়া হলে, জোড়ার সংখ্যা (i, j) ফেরত দিন যাতে i < j এবং nums[i] == 2 * nums[j]।" আমার ব্যাখ্যা এবং সমাধান এর সাথে পুরোপুরি সারিবদ্ধ। `defaultdict(int)` ব্যবহার সুবিধাজনক কারণ এটি স্বয়ংক্রিয়ভাবে 0 রিটার্ন করে এখনও উপস্থিত নয় এমন কীগুলি পরিচালনা করে, তাই `freq_map-এ target_val` যদি কঠোরভাবে প্রয়োজনীয় না হয়, `count += freq_map[target_val]` সরাসরি কাজ করবে। যাইহোক, 'freq_map'-এ স্পষ্টভাবে চেক করা কিছুটা পরিষ্কার বা সামান্য দ্রুততর হতে পারে যদি অস্তিত্বহীন কীগুলির সন্ধান ব্যয়বহুল হয় (যদিও সাধারণত 'ডিফল্টডিক্ট'-এর জন্য নয়)। পাইথনের `ডিক্ট` এর জন্য, `ইন` চেক হল O(1) গড়। সংক্ষিপ্ততার জন্য `if` চেক না করেই লিখি, যেহেতু `defaultdict` এটি পরিচালনা করে: ``` সংগ্রহ থেকে পাইথন আমদানি ডিফল্টডিক্ট ক্লাস সমাধান: def countPairs(self, nums: list[int]) -> int: count = 0 freq_map = defaultdict(int) for j jms(range) যেখানে # lennu( range) এর জন্য jms( lennu) জোড়া আছে দ্বিতীয় উপাদান # আমাদের প্রয়োজন সংখ্যা[i] = 2 * সংখ্যা [j] যেখানে i < j গণনা += freq_map[2 * nums[j]] # ভবিষ্যতের চেকের জন্য মানচিত্রে সংখ্যা[j] যোগ করুন (যেখানে এটি সংখ্যা [i] হতে পারে) freq_map[nums[j]] += 1 রিটার্ন কাউন্ট এবং ally এর ক্লিন ভার্সন। সময়ের জটিলতা হল O(N) কারণ আমরা অ্যারের মাধ্যমে একবার পুনরাবৃত্তি করি এবং প্রতিটি অভিধান অপারেশন (সন্নিবেশ, লুকআপ) গড়ে O(1) নেয়। সবচেয়ে খারাপ ক্ষেত্রে স্থানের জটিলতা হল O(N), যেখানে `সংখ্যা` এর সমস্ত সংখ্যা আলাদা, `freq_map`-এ `N` এন্ট্রির প্রয়োজন। 10^5 পর্যন্ত N দেওয়া হয়েছে, O(N) সময় এবং স্থান সীমার মধ্যে রয়েছে।