Cari tatasusunan awal daripada tatasusunan yang diberikan selepas pertanyaan jumlah julat dalam C++

PHPz
Lepaskan: 2023-09-17 17:09:02
ke hadapan
2722 orang telah melayarinya

在 C++ 中的范围求和查询后从给定数组中查找初始数组

Dalam masalah ini, kita mendapat susunan res[] bersaiz N. Tugas kami adalah untuk mencari tatasusunan awal daripada tatasusunan yang diberikan selepas pertanyaan jumlah julat.

Kita perlu mencari tatasusunan permulaan yang mana tatasusunan rel[] akan dikembalikan apabila melaksanakan pertanyaan [s, e, val].

Setiap pertanyaan [s, e, val] diselesaikan sebagai

s -> indeks mula

e -> indeks akhir

val -> kemas kini setiap elemen dari s hingga e untuk ditambahkan pada nilai tatasusunan.

Mari kita ambil contoh untuk memahami masalah ini, terjemahan
Input : rel[] = {7, 4, 8}
Query[][] = {{1, 2, 1},
{0, 1, 3}}
Output : {4, 0, 7}
Salin selepas log masuk

Penerangan

ialah:

Penjelasan

initialArray = {4, 0, 7}; query = {1, 2, 1}; finalArray = {4, 1, 8}
initialArray = {4, 1, 8}; query = {0, 1, 3}; finalArray = {7, 4, 8}
Salin selepas log masuk

Penjelasan

ialah:

Penjelasan

#include <iostream>
using namespace std;
void calcInitialArrayQueries(int arr[], int n, int query[][3], int q) {
   for (int i = 0; i < q; i++) {
      for (int j = query[i][0];j <= query[i][1]; j++) {
         arr[j] = arr[j] - query[i][2];
      }
   }
   for (int i = 0; i < n; i++)
      cout<<arr[i]<<" ";
}
int main() {
   int arr[] = { 5, 1, 8, 2, 9};
   int n = sizeof(arr) / sizeof(arr[0]);
   int query[][3] = { {0, 2, -2}, {1, 4, 3}};
   int q = sizeof(query) / sizeof(query[0]);
   cout<<"Initial array : "; calcInitialArrayQueries(arr, n, query, q);
   return 0;
}
Salin selepas log masuk
semua

Penyelesaian yang mudah pertanyaan, untuk semua Pertanyaan diselesaikan menggunakan cara yang sama kami menyelesaikan masalah dan kemudian mengembalikan tatasusunan yang ditemui pada penghujungnya. Di sini, untuk mencari tatasusunan awal, kita perlu mengendalikannya dengan cara yang bertentangan, iaitu menolaknya daripada tatasusunan yang diberikan.

Contoh🎜🎜Contoh program untuk menggambarkan cara penyelesaian kami berfungsi🎜
Initial array : 7 0 7 -1 6
Salin selepas log masuk
🎜Output🎜rrreee🎜

Atas ialah kandungan terperinci Cari tatasusunan awal daripada tatasusunan yang diberikan selepas pertanyaan jumlah julat dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan