Skip to content

Commit e454061

Browse files
feat: Finished Lesson_07 HW - XavierCruz
1 parent 6dbc840 commit e454061

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

lesson_07/conditionals/src/lesson7.ts

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export function compareStrings(a: string, b: string): number {
4646
* @return The letter grade ("A+", "A", "A-", "B+", etc.).
4747
*/
4848
export function convertGpaToLetterGrade(gpa: number): string {
49+
console.log(gpa);
4950
switch (
5051
true // better way to do this. want to use the equivilent of a Java Map (XavierCruz5106)
5152
) {
@@ -65,12 +66,10 @@ export function convertGpaToLetterGrade(gpa: number): string {
6566
return "B";
6667
case gpa >= 3.3 && gpa < 3.7:
6768
return "B+";
68-
case gpa >= 3.7 && gpa < 3.9:
69+
case gpa >= 3.7 && gpa < 4.0:
6970
return "A-";
70-
case gpa === 3.9:
71-
return "A";
7271
case gpa === 4.0:
73-
return "A+";
72+
return "A";
7473

7574
default:
7675
return "F";
@@ -100,9 +99,9 @@ export function computeFactorial(n: number): number {
10099
*/
101100
export function addNumbers(values: number[]): number {
102101
let sum = 0;
103-
for (const value in values) {
104-
sum += Number(value);
105-
}
102+
values.forEach((value) => {
103+
sum += value;
104+
});
106105
return sum;
107106
}
108107

@@ -113,18 +112,17 @@ export function addNumbers(values: number[]): number {
113112
* @return An array containing the first `n` Fibonacci values.
114113
*/
115114
export function getFirstNFibonacciNumbers(n: number): number[] {
116-
console.log("n = " + n);
117115
let current = 1;
118116
let prev = 0;
119-
let temp = current;
117+
const nums = [];
120118

121-
for (let i = 1; i < n; i++) {
122-
current += prev;
123-
temp = current;
124-
prev = temp;
125-
console.log(current);
119+
for (let i = 1; i <= n; i++) {
120+
nums.push(current);
121+
const nextNum = current + prev;
122+
prev = current;
123+
current = nextNum;
126124
}
127-
return [];
125+
return nums;
128126
}
129127

130128
/**
@@ -151,9 +149,16 @@ export function binarySearch(
151149

152150
// TODO(you): Finish implementing this algorithm
153151

152+
if (values[pivotIndex] == value) {
153+
return pivotIndex;
154+
} else if (values[pivotIndex] > value) {
155+
return binarySearch(values, start, pivotIndex - 1, value);
156+
} else {
157+
return binarySearch(values, pivotIndex + 1, end, value);
158+
}
159+
154160
// If values[pivotIndex] is equal to value then return `pivotIndex`.
155161
// Else if values[pivotIndex] is greater than the value, then
156162
// call `binarySearch(values, start, pivotIndex - 1, value)` and return its value;
157163
// Else call `binarySearch(values, pivotIndex + 1, end, value)` and return its value.
158-
return -1;
159164
}

0 commit comments

Comments
 (0)