Practice
Resources
Contests
Online IDE
New
Free Mock
Scaler
Practice
Improve your coding skills with our resources
Contests
Compete in popular contests with top coders
Scaler
Explore Offerings by SCALER

Welcome to Interviewbit, help us create the best experience for you!

Currently, You are a:

Few details about your education

College/University *
Enter the name of your college
Branch *
Year of completion *

Few details about your education

College/University *
Enter the name of your college
Branch *
Year of completion *

Few details about your career...

Current Company *
Enter company name
Experience *

You're all set!

Begin your success journey!

Sign Up using
Full name *
Email *
Password *

By creating an account, I acknowledge that I have read and agree to InterviewBit’s Terms and Privacy Policy .

Welcome back!

Log In using
Email *
Password *

Time Complexity

Go to Problems

Level 1

Jump to Level 2

Level 2

Jump to Level 3

Level 3

Jump to Level 4

Level 4

Jump to Level 5

Level 5

Jump to Level 6

Level 6

Jump to Level 7

Level 7

Jump to Level 8

Level 8

Be a Code Ninja!

Relevance of time complexity

Lets assume we ask 2 interviewees A and Bto write a program to detect if a number N >= 2 is prime.

A number is prime if it is divisible by exactly 2 distinct positive numbers 1 and the number itself.
https://www.mathsisfun.com/prime-composite-number.html

A comes up with the following code :

 i = 2 
 while i < N
   if N is divisible by i
      N is not prime
   add 1 to i   

B comes up with the following code :

i = 2
while i <= square root of N
  if N is divisible by i 
    N is not prime
  add 1 to i

For now, lets assume that both codes are correct.
Now, B claims that his code is much better as it takes much less time to check if N is prime.
Lets look into why that is the case.

Lets assume that the operation N is divisible by i takes 1 ms.
Lets look at few examples on time taken :

Example 1 :

N = 1000033 ( Prime number ) 
Time taken by A's program = 1 ms * number of divisions
                          = 1 ms * 1000033
                          = approximately 1000 seconds or 16.7 mins. 

Time taken by B's program = 1ms * number of divisions 
                          = 1ms * square root of 1000033
                          = approximately 1000ms = 1 second. 

Example 2 :

N = 1500450271 ( Prime number ) 
Time taken by A's program = 1 ms * number of divisions
                          = 1 ms * 1500450271
                          = approximately 1000000 seconds or 11.5 days 

Time taken by B's program = 1ms * number of divisions 
                          = 1ms * square root of 1500450271
                          = approximately 40000ms = 40 seconds.

As you can see B’s program is significantly faster even though both methods of solving the problem are correct.
This is where time complexity of programs comes in, which is a measure of how efficient ( or quick ) a program is for large inputs.
In first case, time taken is directly proportional to N, whereas in second case it is directly proportional to square root of N. In later slides, we will look into how we can formalize it into time complexity notations.

Serious about Learning Programming ?

Learn this and a lot more with Scaler Academy's industry vetted curriculum which covers Data Structures & Algorithms in depth.

This topic has only Multiple Choice Questions

Jump to subsequent topics to solve code problems.

Time Complexity Problems

Basic primer
Problem Score Companies Time Status
LOOP_CMPL 20
2:43
NESTED_CMPL 20
1:10
NESTED_CMPL2 30
1:25
CHOOSE4 50
0:57
Math
Problem Score Companies Time Status
WHILE_CMPL 50
1:31
NESTED_CMPL3 80 3:56
LOOP_CMPL2 80
2:43
GCD_CMPL 150
4:13
Compare functions
Problem Score Companies Time Status
CHOOSE3 50
1:39
CHOOSE1 50
1:43
CHOOSE2 80
2:23
Function calling itself
Problem Score Companies Time Status
REC_CMPL1 80
6:58
REC_CMPL2 80
6:25
REC_CMPL3 150
4:39
Amortized complexity
Problem Score Companies Time Status
AMORTIZED1 100
3:03

Additional Practice

Problem Score Companies Time Status
Collatz Conjecture 200 21:48
Palindromic Time 200 39:32
Pangram Check 100 26:06
Climbing Stairs 150 28:50
Integers in Strings 100 19:23
Word Count 150 21:13
Extracting Numbers 100
LTI
21:58
Free Mock Assessment
Help us know you better for the best experience
Current Employer *
Enter company name
College you graduated from *
Enter university name
Phone Number *
OTP will be sent to this number for verification
+1
+1
Change Number
Edit
Resend OTP
By Continuing I agree to be contacted by Scaler in the future.
Already have an account? Log in