Rumah > Artikel > pembangunan bahagian belakang > Bilangan maksimum gula-gula yang boleh dibeli
Kami mendapat susunan gula-gula[] dengan panjang disimpan dalam "saiz". Setiap unsur gula-gula[i] mempunyai nombor untuk gula-gula jenis i. Matlamatnya adalah untuk membeli sebanyak mungkin gula-gula dengan sebarang jumlah wang. Syaratnya adalah seperti berikut -
Jika anda membeli X[i] jenis i (0
X(j)
- Arr[] = { 1,3,5,2,6,7}.
- Maksimum gula-gula yang boleh dibeli - 16
Penjelasan - Gula-gula jenis pembelian i { 0,3,5,2,6,0 }
>Input[] = { - Arr 5,7,7,3,4}.
Output - Gula-gula maksimum yang boleh dibeli - 10
Penjelasan - Pembelian gula-gula jenis i { 0,0,7,3,0 }
Program berikut Kaedah yang digunakan dalam adalah seperti berikutgula-gula tatasusunan integer[] digunakan untuk menyimpan bilangan gula-gula jenis i.
Pembolehubah 'saiz' menyimpan panjang susunan gula-gula.
#include <stdio.h> int maxCandies(int arr[], int n){ int bought = arr[n - 1]; int total = bought; // Starting from second last for (int i = n - 2; i >= 0; i--) { // Amount of candies of the current // type that can be bought int x = arr[i]<bought-1?arr[i]:bought-1; if (x >= 0) { total += x; bought = x; } } return total; } int main(){ int candies[] = { 1,2,4,3,7 }; int size = 5; printf("Total Candies that can be bought: %d", maxCandies(candies, size)); return 0; }
Total Candies that can be bought: 13
Atas ialah kandungan terperinci Bilangan maksimum gula-gula yang boleh dibeli. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!