Bird
Raised Fist0
Drone Programmingprogramming~5 mins

Indian drone regulations (DGCA rules) in Drone Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Indian drone regulations (DGCA rules)
O(n)
Understanding Time Complexity

When programming drones under Indian DGCA rules, it is important to understand how the time taken by your code grows as you handle more drone data or rules.

We want to know how the program's work increases when the number of drones or rules grows.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


// Check if a drone operation is allowed under DGCA rules
function isOperationAllowed(drone, rules) {
  for (let rule of rules) {
    if (!rule.check(drone)) {
      return false;
    }
  }
  return true;
}
    

This code checks each DGCA rule one by one to see if the drone operation meets all requirements.

Identify Repeating Operations
  • Primary operation: Looping through all DGCA rules to check each one.
  • How many times: Once for each rule in the rules list.
How Execution Grows With Input

As the number of DGCA rules increases, the program checks more rules one after another.

Input Size (n)Approx. Operations
10 rules10 checks
100 rules100 checks
1000 rules1000 checks

Pattern observation: The number of checks grows directly with the number of rules.

Final Time Complexity

Time Complexity: O(n)

This means the time to check all rules grows in a straight line as the number of rules increases.

Common Mistake

[X] Wrong: "The program checks all rules instantly no matter how many there are."

[OK] Correct: Each rule must be checked one by one, so more rules mean more work and more time.

Interview Connect

Understanding how your drone program handles many rules helps you write efficient code and shows you can think about how your program grows with more data.

Self-Check

"What if the rules were grouped and checked in parallel? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is a mandatory requirement for flying a drone in India according to DGCA rules?
easy
A. Flying in restricted no-fly zones
B. Flying above 400 feet without permission
C. Registering the drone before flight
D. Ignoring the drone weight limits

Solution

  1. Step 1: Understand DGCA registration rule

    DGCA mandates that all drones must be registered before flying in India.
  2. Step 2: Check other options against DGCA rules

    Flying above 400 feet or in no-fly zones is prohibited without permission, and ignoring weight limits is not allowed.
  3. Final Answer:

    Registering the drone before flight -> Option C
  4. Quick Check:

    Registration is mandatory = C [OK]
Hint: Remember: Registration is the first step before flying [OK]
Common Mistakes:
  • Assuming flying above 400 feet is allowed
  • Ignoring no-fly zone restrictions
  • Thinking weight limits don't matter
2. Which Python code snippet correctly checks if a drone's altitude is within the DGCA allowed limit of 400 feet?
easy
A. if altitude <= 400: print('Safe to fly')
B. if altitude < 400: print('Safe to fly')
C. if altitude >= 400: print('Safe to fly')
D. if altitude > 400: print('Safe to fly')

Solution

  1. Step 1: Understand altitude limit condition

    DGCA allows flying up to 400 feet inclusive, so altitude <= 400 is correct.
  2. Step 2: Analyze each condition

    if altitude <= 400: print('Safe to fly') uses <= 400, which includes 400 feet. if altitude < 400: print('Safe to fly') excludes 400 feet, the other options allow unsafe altitudes.
  3. Final Answer:

    if altitude <= 400:\n print('Safe to fly') -> Option A
  4. Quick Check:

    Altitude must be at most 400 = B [OK]
Hint: Use <= 400 to include max allowed altitude [OK]
Common Mistakes:
  • Using < 400 excludes exactly 400 feet
  • Using >= or > allows unsafe altitudes
  • Confusing comparison operators
3. What will be the output of this Python code snippet checking drone weight compliance?
weight = 2.5  # in kg
if weight <= 2:
    print('Light drone')
elif weight <= 25:
    print('Medium drone')
else:
    print('Heavy drone')
medium
A. Light drone
B. Medium drone
C. Heavy drone
D. No output

Solution

  1. Step 1: Check weight against conditions

    Weight is 2.5 kg, which is not <= 2 but is <= 25.
  2. Step 2: Determine which print executes

    Since 2.5 <= 25, the 'Medium drone' print statement runs.
  3. Final Answer:

    Medium drone -> Option B
  4. Quick Check:

    2.5 kg fits medium drone category = A [OK]
Hint: Check conditions top to bottom; first true runs [OK]
Common Mistakes:
  • Assuming 2.5 kg is light drone
  • Ignoring elif condition
  • Thinking else runs for 2.5 kg
4. Identify the error in this Python code snippet that checks if a drone is flying in a no-fly zone:
no_fly_zones = ['airport', 'military_base']
drone_location = 'airport'
if drone_location = no_fly_zones:
    print('Drone in no-fly zone!')
medium
A. Using '=' instead of '==' in the if condition
B. Incorrect list syntax for no_fly_zones
C. Missing colon ':' after if statement
D. Wrong variable name drone_location

Solution

  1. Step 1: Check the if condition syntax

    The code uses '=' which is assignment, not comparison. It should be '==' or 'in'.
  2. Step 2: Understand correct membership check

    To check if drone_location is in no_fly_zones, use 'if drone_location in no_fly_zones:'. Using '=' causes syntax error.
  3. Final Answer:

    Using '=' instead of '==' in the if condition -> Option A
  4. Quick Check:

    Use '==' or 'in' for comparison, not '=' [OK]
Hint: Use '==' or 'in' for comparisons, '=' is assignment [OK]
Common Mistakes:
  • Using '=' instead of '==' or 'in'
  • Confusing assignment with comparison
  • Not checking membership properly
5. You want to write a Python function to check if a drone flight is legal under DGCA rules. The drone must be registered, fly below 400 feet, and not be in a no-fly zone. Which function correctly implements these checks?
hard
A. def is_legal(registered, altitude, location): if registered and altitude > 400 and location not in ['airport', 'military_base']: return True return False
B. def is_legal(registered, altitude, location): if registered or altitude < 400 or location in ['airport', 'military_base']: return True return False
C. def is_legal(registered, altitude, location): if not registered and altitude > 400 and location in ['airport', 'military_base']: return True return False
D. def is_legal(registered, altitude, location): if registered and altitude <= 400 and location not in ['airport', 'military_base']: return True return False

Solution

  1. Step 1: Analyze legal conditions

    Drone must be registered, altitude <= 400, and location not in no-fly zones.
  2. Step 2: Check each option's logic

    def is_legal(registered, altitude, location): if registered and altitude <= 400 and location not in ['airport', 'military_base']: return True return False uses 'and' for all conditions correctly. Others use 'or' or wrong comparisons allowing illegal flights.
  3. Final Answer:

    def is_legal(registered, altitude, location):\n if registered and altitude <= 400 and location not in ['airport', 'military_base']:\n return True\n return False -> Option D
  4. Quick Check:

    All conditions must be true = A [OK]
Hint: Use 'and' to combine all legal conditions [OK]
Common Mistakes:
  • Using 'or' instead of 'and' allowing illegal flights
  • Wrong altitude comparison signs
  • Incorrect no-fly zone membership check
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