Java solutions for Maman 11 (course 20454): O(1)/O(log n)/O(n) methods over sum arrays and super-increasing sequences, featuring binary search and a greedy subset-sum check.
- Name: Shimon Esterkin (blackhebrewisraeli)
- ID: *****2258
- Version: 2025B
This repository contains the solution for Maman 11, an academic assignment for the course Introduction to Computer Science Using Java (course number 20454) at the Open University of Israel.
The assignment focuses on time and space complexity, binary search, and greedy algorithms applied to efficient data structures.
Ex11.java– Contains all the methods solving the assignment's questions.Ex11.class– Compiled bytecode file ofEx11.java.Ex11StudentTester.java– A custom test class used to validate all implemented methods.Assigment Final Score Summerization 95.png.png– Visual confirmation of the final grade received: 95/100.Assigment Final Score Summerization (Extended) 95.png.png– Detailed breakdown of the score given to the assignment.
- Retrieves a value from an original array using its cumulative (sum) array.
- Time Complexity: O(1)
- Space Complexity: O(1)
- Efficiently finds the index of a value in the original array using only the sum array.
- Time Complexity: O(log n)
- Space Complexity: O(1)
- Checks if a subset of a super-increasing series can sum to a target value.
- Uses a greedy algorithm tailored to the properties of super-increasing sequences.
- Time Complexity: O(n)
- Space Complexity: O(1)
The assignment received a final score of 95/100.
Created by blackhebrewisraeli for academic and portfolio purposes. This repository is intended for non-commercial, educational sharing only.
