Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cari tatasusunan awal daripada tatasusunan yang diberikan selepas pertanyaan jumlah julat dalam C++

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

PHPz
PHPzke hadapan
2023-09-17 17:09:022683semak imbas

在 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}

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}

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;
}
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
🎜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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:C program menjana bil elektrikArtikel seterusnya:C program menjana bil elektrik