Skip to content
Merged
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
efe02da
Add binary search in C
2Clutch Oct 27, 2024
d4c3e22
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Oct 27, 2024
7251534
Add code
2Clutch Oct 27, 2024
ea9c9ff
Handle errors and potential edge cases
2Clutch Oct 27, 2024
b428138
Clean Up + Refactor + Request Input from Command Line
2Clutch Oct 27, 2024
bca6b20
Follow documentation to the letter
2Clutch Oct 27, 2024
6a1105c
for the win? (e.g. check that array is not empty)
2Clutch Oct 28, 2024
7e838d0
Clean Up & Refactor
2Clutch Oct 28, 2024
9f66116
Merge remote-tracking branch 'refs/remotes/origin/master'
2Clutch Oct 28, 2024
e6816cb
Clean Up & Refactor
2Clutch Oct 28, 2024
7028097
Fix error message
2Clutch Oct 28, 2024
de08b32
Update error message handling
2Clutch Oct 28, 2024
8b8d41b
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Oct 28, 2024
29511a4
Add Convex Hull
2Clutch Oct 28, 2024
ee12a88
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Oct 29, 2024
643eb70
Update test handling
2Clutch Oct 29, 2024
8c310de
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Oct 29, 2024
d0f8213
Clean Up & Refactor
2Clutch Oct 29, 2024
51f982e
for the win?
2Clutch Oct 29, 2024
5dfa5c5
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Oct 29, 2024
fddbd64
Merge remote-tracking branch 'refs/remotes/origin/master'
2Clutch Oct 29, 2024
fe4f138
Fix input validation and output format for convex hull calculation + …
2Clutch Oct 29, 2024
793dc0a
Add command line argument handling for x and y coordinates + Implemen…
2Clutch Oct 29, 2024
aa58d24
brand new implementation
2Clutch Oct 29, 2024
bd69cb4
Refactor error handling to eliminate code repetition for usage messages
2Clutch Oct 29, 2024
54d6812
Use same error message everywhere
2Clutch Oct 29, 2024
db2fd2e
Handle negative numbers
2Clutch Oct 29, 2024
6314765
Fix convex hull logic to correctly output hull points
2Clutch Oct 31, 2024
1afd977
Merge branch 'main' into master
rzuckerm Nov 3, 2024
b67e744
Merge branch 'main' into master
rzuckerm Nov 16, 2024
9f03c2b
Fix Convex Hull in C
Nov 16, 2024
6e64781
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 18, 2025
13b1aab
Add job-sequencing.c
2Clutch Jan 18, 2025
fe0426a
Update solution
2Clutch Jan 18, 2025
17073e3
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 18, 2025
1d17029
Add fraction-math.c
2Clutch Jan 18, 2025
bca9bd6
Update solution
2Clutch Jan 18, 2025
b67b7a2
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 18, 2025
8d08765
Add depth-first-search.c
2Clutch Jan 18, 2025
eb26486
Update solution
2Clutch Jan 18, 2025
40cfc72
remove dependency on math library
2Clutch Jan 18, 2025
dfff909
improve input validation and error handling
2Clutch Jan 18, 2025
d5571d3
Merge branch 'main' into master
2Clutch Jan 19, 2025
47167d8
bring back sqrt solution
2Clutch Jan 19, 2025
a48676d
add math library linking flag for sqrt support
2Clutch Jan 19, 2025
cc5ba65
adjust error handling & output format
2Clutch Jan 19, 2025
7a280fa
Merge branch 'main' into master
rzuckerm Jan 19, 2025
5243c9f
Merge branch 'main' into master
rzuckerm Jan 19, 2025
9b57dc5
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 19, 2025
a29234e
add dijkstra.c
2Clutch Jan 19, 2025
2f72523
update solution
2Clutch Jan 19, 2025
5ce295d
fix input parsing
2Clutch Jan 19, 2025
f13d940
update input parsing
2Clutch Jan 19, 2025
f919d9a
fix algorithm implementation & input parsing
2Clutch Jan 19, 2025
29de0db
fix edge case handling
2Clutch Jan 19, 2025
94cf360
undo brain fart
2Clutch Jan 19, 2025
6b76b29
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 19, 2025
93e2559
add josephus-problem.c
2Clutch Jan 19, 2025
096b450
Update solution
2Clutch Jan 19, 2025
95d842a
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 19, 2025
e8ebb1f
add longest-palindromic.substring.c
2Clutch Jan 19, 2025
b15d63e
Merge branch 'main' into master
2Clutch Jan 19, 2025
b67fb0c
handle case with no valid palindromes in input
2Clutch Jan 19, 2025
5256ed7
Merge branch 'TheRenegadeCoder:main' into master
2Clutch Jan 19, 2025
ba60648
add maximum-array-rotation.c
2Clutch Jan 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions archive/c/c/maximum-array-rotation.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void calculate_maximum_rotation(char *input) {
// Parse the input string into an array of integers
int arr[100], n = 0;
char *token = strtok(input, ",");

while (token != NULL) {
arr[n++] = atoi(token);
token = strtok(NULL, ",");
}

// Edge case: No input or empty input
if (n == 0) {
printf("Usage: please provide a list of integers (e.g. \"8, 3, 1, 2\")\n");
return;
}

// Calculate initial weighted sum
int total_sum = 0, weighted_sum = 0;

for (int i = 0; i < n; i++) {
weighted_sum += i * arr[i];
total_sum += arr[i];
}

int max_weighted_sum = weighted_sum;

// Calculate maximum weighted sum after rotations
for (int i = 1; i < n; i++) {
weighted_sum = weighted_sum + total_sum - n * arr[n - i];
if (weighted_sum > max_weighted_sum) {
max_weighted_sum = weighted_sum;
}
}

printf("%d\n", max_weighted_sum);
}

int main(int argc, char *argv[]) {
if (argc != 2) {
printf("Usage: please provide a list of integers (e.g. \"8, 3, 1, 2\")\n");
return 1;
}

calculate_maximum_rotation(argv[1]);
return 0;
}
Loading