mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-07-01 09:36:49 +08:00
chore: synchronize with master (#2)
* chore: fix Markdown formatting in `dynamic_programming/kadane2.cpp` (#2276)
* docs: fix grammatical errors and typos (#2201)
* docs: fix grammatical errors and typos
* compilation error fixed
* Revert "compilation error fixed"
This reverts commit 0083cbfd1a.
* feat: added physics directory and ground to ground projectile motion algorithm (#2279)
* feat: added physics folder, ground to ground projectile motion calculations
* feat: added max height function
* fix: bug in angle calculations
* test: added test cases
* docs: added comments to test case variables
* docs: added comments to calculations
* fix: changed floats to doubles
* updating DIRECTORY.md
* Update physics/ground_to_ground_projectile_motion.cpp
Co-authored-by: David Leal <halfpacho@gmail.com>
* chore: add missing namespace
* rerun checks
Co-authored-by: David <Panquesito7@users.noreply.github.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
* docs: updated a logically wrong doc comment (#2329)
* feat: add CMakeLists to the `divide_and_conquer` directory (#2072)
* fix: stairs pattern not printing slash (#2111)
when we propose 2 backslash then it doesn't take it as a comment and gets printed
Co-authored-by: David Leal <halfpacho@gmail.com>
* fix: use FreeGlut newest GitHub link (#2397)
* updating DIRECTORY.md
* fix: use FreeGlut newest GitHub link
* chore(fix): `data_strcutres` -> `data_structures` (#2399)
* feat: add Find non repeating number implementation (#2061)
* add find_single_number
* add fix issues
* remove .vscode
* add .vscode
* Update .vscode/settings.json
Co-authored-by: David Leal <halfpacho@gmail.com>
* chore(fix): minor issues
Co-authored-by: David Leal <halfpacho@gmail.com>
* [feat/docs]: improve the `quick_sort.cpp` algorithm (#2396)
* [feat/docs]: improve the `quick_sort.cpp`...
...algorithm implementation.
* clang-format and clang-tidy fixes for 40c858ba
* chore(fix): add original author
* updating DIRECTORY.md
* chore: update Discord links (#2407)
* docs: remove unneeded Markdown header
* feat: improve the Awesome Workflow (#2408)
* fix: Awesome Workflow issues
Thanks to @tjgurwara99 for the original fix: TheAlgorithms/C#1176
* chore: apply suggestions from code review
Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>
* feat: various improvements
* chore: apply suggestions from code review
Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>
* chore: remove LGTM and fix...
...CodeQL badges.
* docs: add guide on integrating CMake (#2410)
Taken from TheAlgorithms/C#1163
* updating DIRECTORY.md
Co-authored-by: Daemon <90456722+Daemon19@users.noreply.github.com>
Co-authored-by: aadarshkt <72285744+aadarshkt@users.noreply.github.com>
Co-authored-by: Focus <65309793+Focusucof@users.noreply.github.com>
Co-authored-by: David <Panquesito7@users.noreply.github.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
Co-authored-by: Arjit Malik <arjitmalik2001@gmail.com>
Co-authored-by: Harsh Singh <94822101+harshsingh510@users.noreply.github.com>
Co-authored-by: Ravi Dev Pandey <62198564+literalEval@users.noreply.github.com>
Co-authored-by: Mehmet <110852769+walterwhite351@users.noreply.github.com>
Co-authored-by: Taj <tjgurwara99@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions@users.noreply.github.com>
This commit is contained in:
@@ -39,13 +39,13 @@ namespace dynamic_programming {
|
||||
namespace knapsack {
|
||||
/**
|
||||
* @brief Picking up all those items whose combined weight is below
|
||||
* given capacity and calculating value of those picked items.Trying all
|
||||
* the given capacity and calculating the value of those picked items. Trying all
|
||||
* possible combinations will yield the maximum knapsack value.
|
||||
* @tparam n size of the weight and value array
|
||||
* @param capacity capacity of the carrying bag
|
||||
* @param weight array representing weight of items
|
||||
* @param value array representing value of items
|
||||
* @return maximum value obtainable with given capacity.
|
||||
* @param weight array representing the weight of items
|
||||
* @param value array representing the value of items
|
||||
* @return maximum value obtainable with a given capacity.
|
||||
*/
|
||||
template <size_t n>
|
||||
int maxKnapsackValue(const int capacity, const std::array<int, n> &weight,
|
||||
@@ -53,7 +53,7 @@ int maxKnapsackValue(const int capacity, const std::array<int, n> &weight,
|
||||
std::vector<std::vector<int> > maxValue(n + 1,
|
||||
std::vector<int>(capacity + 1, 0));
|
||||
// outer loop will select no of items allowed
|
||||
// inner loop will select capcity of knapsack bag
|
||||
// inner loop will select the capacity of the knapsack bag
|
||||
int items = sizeof(weight) / sizeof(weight[0]);
|
||||
for (size_t i = 0; i < items + 1; ++i) {
|
||||
for (size_t j = 0; j < capacity + 1; ++j) {
|
||||
@@ -62,22 +62,22 @@ int maxKnapsackValue(const int capacity, const std::array<int, n> &weight,
|
||||
// will be zero
|
||||
maxValue[i][j] = 0;
|
||||
} else if (weight[i - 1] <= j) {
|
||||
// if the ith item's weight(in actual array it will be at i-1)
|
||||
// if the ith item's weight(in the actual array it will be at i-1)
|
||||
// is less than or equal to the allowed weight i.e. j then we
|
||||
// can pick that item for our knapsack. maxValue will be the
|
||||
// obtained either by picking the current item or by not picking
|
||||
// current item
|
||||
|
||||
// picking current item
|
||||
// picking the current item
|
||||
int profit1 = value[i - 1] + maxValue[i - 1][j - weight[i - 1]];
|
||||
|
||||
// not picking current item
|
||||
// not picking the current item
|
||||
int profit2 = maxValue[i - 1][j];
|
||||
|
||||
maxValue[i][j] = std::max(profit1, profit2);
|
||||
} else {
|
||||
// as weight of current item is greater than allowed weight, so
|
||||
// maxProfit will be profit obtained by excluding current item.
|
||||
// as the weight of the current item is greater than the allowed weight, so
|
||||
// maxProfit will be profit obtained by excluding the current item.
|
||||
maxValue[i][j] = maxValue[i - 1][j];
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ int maxKnapsackValue(const int capacity, const std::array<int, n> &weight,
|
||||
} // namespace dynamic_programming
|
||||
|
||||
/**
|
||||
* @brief Function to test above algorithm
|
||||
* @brief Function to test the above algorithm
|
||||
* @returns void
|
||||
*/
|
||||
static void test() {
|
||||
|
||||
@@ -18,8 +18,8 @@ int main() {
|
||||
count++;
|
||||
}
|
||||
|
||||
/* Calaculation for checking of armstrongs number i.e.
|
||||
in a n digit number sum of the digits raised to a power of n
|
||||
/* Calculation for checking of armstrongs number i.e.
|
||||
in an n-digit number sum of the digits is raised to a power of n
|
||||
is equal to the original number */
|
||||
|
||||
temp = n;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief Implementation of [Kadane
|
||||
* Algorithm] (https://en.wikipedia.org/wiki/Kadane%27s_algorithm)
|
||||
* Algorithm](https://en.wikipedia.org/wiki/Kadane%27s_algorithm)
|
||||
*
|
||||
* @details
|
||||
* Kadane algorithm is used to find the maximum sum subarray in an array and
|
||||
|
||||
Reference in New Issue
Block a user