Skip to main content

Featured

Solve LeetCode 3 Longest Substring Without Repeating Characters in C++ using the sliding window

Longest Substring Without Repeating Characters in C++ LeetCode 3 · sliding window · last index array Table of Contents Problem Statement Approach Algorithm C++ Program Input Sample Output Output Explanation Dry Run Flow of Execution Time Complexity Space Complexity Applications Key Points Interview Questions Frequently Asked Questions Conclusion Problem Statement 3. Longest Substring Without Repeating Characters Given a string s , find the length of the longest substring that contains no repeating characters. A substring is a continuous part of the string, so "pwke" is a subsequence of "pwwkew" but not a substring. Approach We use a sliding window . The window is the part of the string between start and end , and we always keep it free of repeated characters. An array lastIndex of size 128 remembers the most recent position of every ASCII ...

Concentric Square Number Pattern In C

๐Ÿ”ข C Program: Concentric Square Number Pattern

#include <stdio.h>

int main() {
    int n;
    printf("Enter the number of layers: ");
    scanf("%d", &n);

    int size = 2 * n - 1;

    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            int min = i;
            if (j < min) min = j;
            if (size - 1 - i < min) min = size - 1 - i;
            if (size - 1 - j < min) min = size - 1 - j;

            printf("%d ", n - min);
        }
        printf("\n");
    }

    return 0;
}
  

๐Ÿ“ Explanation:

This C program prints a concentric number pattern in the form of a square matrix. Each layer of the square is filled with a decreasing number from the outermost layer to the center.

  • Input: The user enters the number of layers (n).
  • Matrix size: It is calculated using 2 * n - 1. This ensures we have n layers on each side (top, bottom, left, right).
  • Two nested loops: These go through each cell (i, j) of the matrix.
  • Finding the minimum distance: We calculate the minimum number of steps required to reach the border from cell (i, j). This is done using 4 comparisons:
    • i → distance from top
    • j → distance from left
    • size - 1 - i → distance from bottom
    • size - 1 - j → distance from right
  • Print value: The value to print is n - min which gives the correct number for that concentric layer.

๐Ÿ’ก Sample Output:

Enter the number of layers: 4

4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 3 2 2 2 3 4
4 3 2 1 2 3 4
4 3 2 2 2 3 4
4 3 3 3 3 3 4
4 4 4 4 4 4 4
  

Comments

Popular Posts

๐ŸŒ™