Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menambah soalan logik dan algoritma pada kuiz dalam talian
Cara menambah soalan logik dan algoritma pada jawapan soalan dalam talian, contoh kod khusus diperlukan
Pada platform menjawab soalan dalam talian, terdapat banyak jenis soalan, antaranya soalan logik dan algoritma adalah jenis yang sangat tipikal. Untuk jenis soalan ini, sebagai tambahan kepada penerangan teks soalan, algoritma penyelesaian khusus dan logik perlu diberikan dalam kod. Artikel ini akan memperkenalkan cara menambah soalan sedemikian dalam soalan menjawab dalam talian dan memberikan contoh kod yang sepadan.
1. Penerangan tentang topik
Apabila mereka bentuk topik logik dan algoritma, anda perlu menerangkan topik dengan jelas. Sebagai contoh, kami mereka bentuk soalan logik Penerangan soalan ialah: "Memandangkan tatasusunan integer, tentukan sama ada terdapat dua nombor dalam tatasusunan dan jumlahnya adalah sama dengan nilai sasaran yang diberikan. Jika dua nombor ini wujud, kembalikan. tatasusunan mereka Jika kedua-dua nombor ini tidak wujud, tatasusunan kosong akan dikembalikan "Huraian soalan sebegini jelas dapat menyatakan kehendak soalan dan membolehkan penjawab memahami maksud soalan.
2. Pelaksanaan Kod
Seterusnya, di bawah penerangan topik, kami memberikan pelaksanaan kod yang sepadan. Pada platform menjawab soalan dalam talian, bahasa pengaturcaraan seperti C++ dan Java boleh digunakan untuk melaksanakan algoritma dan logik. Sebagai contoh, untuk soalan di atas, anda boleh menggunakan bahasa C++ untuk menulis kod jawapan.
#include <iostream> #include <vector> #include <unordered_map> using namespace std; vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int, int> map; vector<int> result; for (int i = 0; i < nums.size(); i++) { int complement = target - nums[i]; if (map.find(complement) != map.end()) { result.push_back(map[complement]); result.push_back(i); return result; } map[nums[i]] = i; } return result; } int main() { vector<int> nums = {2, 7, 11, 15}; int target = 9; vector<int> result = twoSum(nums, target); cout << "Result: "; for (int i = 0; i < result.size(); i++) { cout << result[i] << " "; } cout << endl; return 0; }
Dalam kod di atas, kami mentakrifkan fungsi twoSum
untuk menentukan sama ada jumlah dua nombor adalah sama dengan nilai sasaran dan mengembalikan subskrip tatasusunan bagi dua nombor. Pelaksanaan khusus adalah menggunakan unordered_map untuk menyimpan nilai dan indeks setiap elemen dalam tatasusunan. Untuk setiap elemen, kita mula-mula mengira perbezaan antara nilai sasaran dan elemen semasa Jika perbezaan wujud dalam peta, dua nombor ditemui dan indeksnya ditambah pada tatasusunan hasil dan dikembalikan. Jika nilai perbezaan tidak wujud dalam peta, letakkan elemen semasa ke dalam peta dan teruskan mencari. Akhirnya, jika tiada dua nombor tersebut ditemui, tatasusunan kosong dikembalikan. twoSum
函数,用来判断是否存在两个数的和等于目标值,并返回这两个数的数组下标。具体实现是通过使用一个unordered_map来存储数组中的每个元素的值和索引。对于每个元素,我们先计算目标值与当前元素的差值,如果差值在map中存在,则找到了两个数,将它们的索引添加到结果数组中返回。如果差值不在map中存在,则将当前元素放入map中继续查找。最后,如果没有找到这样的两个数,则返回空数组。
三、答案验证
在线答题平台上,可以让答题者运行代码,验证他们的答案是否正确。对于上述题目,在main函数中,我们生成一个示例输入,然后调用twoSum
twoSum
untuk mengira dan mengeluarkan tatasusunan hasil. Responden boleh menjalankan kod, memasukkan data sampel dan melihat sama ada keputusannya betul. 🎜🎜Di atas ialah cara menambahkan soalan logik dan algoritma pada soalan jawapan dalam talian, serta contoh kod yang sepadan. Apabila mereka bentuk soalan jenis ini, anda perlu memberi perhatian kepada penerangan yang jelas tentang soalan dan memberikan kod jawapan khusus untuk rujukan penjawab. Melalui platform menjawab dalam talian, penjawab boleh menjalankan kod dan mengesahkan ketepatan jawapan mereka. Kaedah reka bentuk ini dapat membantu penjawab lebih memahami keperluan soalan dan membiasakan diri dengan proses pelaksanaan algoritma dan logik. 🎜Atas ialah kandungan terperinci Bagaimana untuk menambah soalan logik dan algoritma pada kuiz dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!