704980. Reading books

Basic

Reading Books

Slug: reading-books3803 Difficulty: Basic Id: 704980 Topic Tags: Arrays, Mathematical, Data Structures, Algorithms Company Tags: None

Summary

The problem "Reading books" requires you to find the total number of pages in all the books that a person can read given the time he/she has and the reading speed. The input is an array of integers where each integer represents the number of pages in a book, and the output should be the total number of pages that can be read within the given time.

Detailed Explanation

To solve this problem, we first need to find out how many books a person can read within the given time. This can be calculated by dividing the total time available by the reading speed of one book. Then, we add up the pages in all the books that can be read within the given time.

Here is a step-by-step breakdown of the solution:

  1. Calculate the total number of pages that can be read within the given time by dividing the total time available by the reading speed of one book.
  2. Initialize a variable to store the total number of pages read so far.
  3. Iterate through the array of integers representing the number of pages in each book.
  4. For each book, check if the total number of pages in that book is less than or equal to the total number of pages that can be read within the given time. If it is, add the number of pages in that book to the variable storing the total number of pages read so far.
  5. After iterating through all the books, return the total number of pages read so far.

Here's a simple ASCII art diagram representing the array and the process:

  Book1   | 100
  Book2   | 200
  Book3   | 50
  ...
  Time    | x

Time complexity: O(n), where n is the number of books. Space complexity: O(1), as we only use a constant amount of space to store the total number of pages read so far.

Optimized Solutions

Java

View on GeeksforGeeks
public int readingBooks(int[] books, int time) {
    int totalPages = 0;
    for (int book : books) {
        if (book <= time) {
            totalPages += book;
        } else {
            break;
        }
    }
    return totalPages;
}

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.