@@ -46,6 +46,7 @@ export function compareStrings(a: string, b: string): number {
46
46
* @return The letter grade ("A+", "A", "A-", "B+", etc.).
47
47
*/
48
48
export function convertGpaToLetterGrade ( gpa : number ) : string {
49
+ console . log ( gpa ) ;
49
50
switch (
50
51
true // better way to do this. want to use the equivilent of a Java Map (XavierCruz5106)
51
52
) {
@@ -65,12 +66,10 @@ export function convertGpaToLetterGrade(gpa: number): string {
65
66
return "B" ;
66
67
case gpa >= 3.3 && gpa < 3.7 :
67
68
return "B+" ;
68
- case gpa >= 3.7 && gpa < 3.9 :
69
+ case gpa >= 3.7 && gpa < 4.0 :
69
70
return "A-" ;
70
- case gpa === 3.9 :
71
- return "A" ;
72
71
case gpa === 4.0 :
73
- return "A+ " ;
72
+ return "A" ;
74
73
75
74
default :
76
75
return "F" ;
@@ -100,9 +99,9 @@ export function computeFactorial(n: number): number {
100
99
*/
101
100
export function addNumbers ( values : number [ ] ) : number {
102
101
let sum = 0 ;
103
- for ( const value in values ) {
104
- sum += Number ( value ) ;
105
- }
102
+ values . forEach ( ( value ) => {
103
+ sum += value ;
104
+ } ) ;
106
105
return sum ;
107
106
}
108
107
@@ -113,18 +112,17 @@ export function addNumbers(values: number[]): number {
113
112
* @return An array containing the first `n` Fibonacci values.
114
113
*/
115
114
export function getFirstNFibonacciNumbers ( n : number ) : number [ ] {
116
- console . log ( "n = " + n ) ;
117
115
let current = 1 ;
118
116
let prev = 0 ;
119
- let temp = current ;
117
+ const nums = [ ] ;
120
118
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 ;
126
124
}
127
- return [ ] ;
125
+ return nums ;
128
126
}
129
127
130
128
/**
@@ -151,9 +149,16 @@ export function binarySearch(
151
149
152
150
// TODO(you): Finish implementing this algorithm
153
151
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
+
154
160
// If values[pivotIndex] is equal to value then return `pivotIndex`.
155
161
// Else if values[pivotIndex] is greater than the value, then
156
162
// call `binarySearch(values, start, pivotIndex - 1, value)` and return its value;
157
163
// Else call `binarySearch(values, pivotIndex + 1, end, value)` and return its value.
158
- return - 1 ;
159
164
}
0 commit comments