Bird
Raised Fist0
Typescriptprogramming~5 mins

Number type behavior in Typescript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Number type behavior
O(n)
Understanding Time Complexity

When working with numbers in TypeScript, it's helpful to know how operations on numbers behave as the input size changes.

We want to see how the time to do number operations grows when we do many calculations.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


function sumNumbers(numbers: number[]): number {
  let total = 0;
  for (const num of numbers) {
    total += num;
  }
  return total;
}
    

This code adds up all numbers in an array and returns the total sum.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding each number to the total inside a loop.
  • How many times: Once for each number in the input array.
How Execution Grows With Input

As the number of items grows, the total additions grow at the same pace.

Input Size (n)Approx. Operations
1010 additions
100100 additions
10001000 additions

Pattern observation: The work grows directly with the number of items; double the items, double the work.

Final Time Complexity

Time Complexity: O(n)

This means the time to add numbers grows in a straight line with how many numbers there are.

Common Mistake

[X] Wrong: "Adding numbers is always instant, so time doesn't grow with input size."

[OK] Correct: Even though each addition is fast, doing many additions one after another takes more time as the list grows.

Interview Connect

Understanding how simple number operations scale helps you explain performance clearly and shows you know how code behaves with bigger data.

Self-Check

"What if we used nested loops to add numbers in pairs? How would the time complexity change?"

Practice

(1/5)
1.

In TypeScript, which of the following is true about the number type?

easy
A. It represents both whole numbers and decimals using the same type.
B. It only represents whole numbers (integers).
C. It only represents decimal numbers (floats).
D. You must declare separate types for integers and decimals.

Solution

  1. Step 1: Understand TypeScript number type

    TypeScript uses a single number type for all numeric values, whether whole or decimal.
  2. Step 2: Compare options with this fact

    Only "It represents both whole numbers and decimals using the same type." correctly states that both whole and decimal numbers share the same number type.
  3. Final Answer:

    It represents both whole numbers and decimals using the same type. -> Option A
  4. Quick Check:

    TypeScript number = whole + decimal [OK]
Hint: Remember: one number type covers all numeric values [OK]
Common Mistakes:
  • Thinking integers and decimals have separate types
  • Assuming number type is only for floats
  • Believing you must declare int or float explicitly
2.

Which of the following is the correct way to declare a variable x as a number with value 42 in TypeScript?

?
easy
A. let x: number = "42";
B. let x = "42";
C. let x: number = 42;
D. let x: string = 42;

Solution

  1. Step 1: Check variable declaration syntax

    In TypeScript, to declare a number variable, use let x: number = value;.
  2. Step 2: Validate each option

    let x: number = 42; correctly declares x as a number with value 42. Other options use wrong types or values, such as assigning a string to a number type, which is invalid.
  3. Final Answer:

    let x: number = 42; -> Option C
  4. Quick Check:

    Correct number declaration = let x: number = 42; [OK]
Hint: Use let x: number = value; for numbers [OK]
Common Mistakes:
  • Assigning string values to number variables
  • Missing the type annotation when needed
  • Using quotes around numeric values
3.

What is the output of the following TypeScript code?

const a: number = 5;
const b: number = 2.5;
const c = a + b;
console.log(c);
medium
A. 7
B. Error
C. 52.5
D. 7.5

Solution

  1. Step 1: Add the two numbers

    Variable a is 5 (integer), b is 2.5 (decimal). Adding gives 5 + 2.5 = 7.5.
  2. Step 2: Check console output

    The console.log(c) prints the sum, which is 7.5.
  3. Final Answer:

    7.5 -> Option D
  4. Quick Check:

    5 + 2.5 = 7.5 [OK]
Hint: Add numbers normally; decimals stay decimals [OK]
Common Mistakes:
  • Treating numbers as strings and concatenating
  • Rounding automatically to integers
  • Expecting a syntax or runtime error
4.

Identify the error in this TypeScript code snippet:

let num: number = 10;
num = "20";
console.log(num);
medium
A. Assigning a string to a variable declared as number causes a type error.
B. The variable num should be declared with const instead of let.
C. The console.log statement is missing parentheses.
D. There is no error; the code runs fine.

Solution

  1. Step 1: Check variable type and assignment

    num is declared as number, but assigned a string "20" later, which is invalid in TypeScript.
  2. Step 2: Identify the error type

    This causes a type error because TypeScript enforces type safety.
  3. Final Answer:

    Assigning a string to a variable declared as number causes a type error. -> Option A
  4. Quick Check:

    Type mismatch error = assigning string to number [OK]
Hint: Match variable type and assigned value exactly [OK]
Common Mistakes:
  • Ignoring type mismatch errors
  • Thinking TypeScript allows implicit type changes
  • Confusing let and const as error causes
5.

Consider the following TypeScript code:

const values = [1, 2.5, 3, 4.75];
const integersOnly = values.filter(v => Number.isInteger(v));
console.log(integersOnly);

What will be the output?

hard
A. [1, 2.5, 3, 4.75]
B. [1, 3]
C. [2.5, 4.75]
D. []

Solution

  1. Step 1: Understand Number.isInteger usage

    The filter keeps only values where Number.isInteger(v) returns true, i.e., whole numbers.
  2. Step 2: Apply filter to array

    From [1, 2.5, 3, 4.75], only 1 and 3 are integers, so the filtered array is [1, 3].
  3. Final Answer:

    [1, 3] -> Option B
  4. Quick Check:

    Filter integers only = [1, 3] [OK]
Hint: Use Number.isInteger to filter whole numbers [OK]
Common Mistakes:
  • Expecting decimals to pass Number.isInteger
  • Confusing filter output with original array
  • Using isInteger incorrectly as a method on numbers
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard