Practical Engineering
open-menu closeme
Engineering
github linkedin rss
  • Monotonicity: Find 1-3-2 Pattern

    calendar Oct 14, 2024 · 3 min read · Algorithms Interview  ·
    Share on: twitter copy

    Given an array of numbers A, find out whether it contains a 1-3-2 pattern. An 1-3-2 pattern is a subsequence of three numbers, A[i], A[j] and A[k] such that i<j<k and A[i] < A[k] < A[j]. For clarity, let's call the 1-3-2 pattern the Bronze-Gold-Silver pattern. If A[j] is Gold, then we should consider the …


    Read More
  • Monotonic Stack: Steps to Make Array Non-decreasing

    calendar Jan 28, 2024 · 3 min read · Interview Algorithms  ·
    Share on: twitter copy

    Problem Given an integer array A, in one step, remove all elements A[i] where A[i-1] > A[i]. Return the number of steps performed until A becomes a non-decreasing array. See examples at LeetCode 2289. Solution The naive approach executes steps one by one. Store integers in a Linked List. At each step, find all …


    Read More
  • Calculate number of nodes in a linear network using message passing

    calendar Jan 20, 2024 · 4 min read · Interview  ·
    Share on: twitter copy

    Problem In a connected network consisting of N nodes, each node is connected to either one or two neighbors, forming a line topology. The task is to develop a program that runs on each node, calculating the total number of nodes in the network. Each node is aware of its neighboring nodes and can exchange messages with …


    Read More
  • Nested Map: Breakdown analysis of events and return result as nested JSON

    calendar Jan 19, 2024 · 3 min read · Interview Go  ·
    Share on: twitter copy

    Problem An event consists of multiple properties, each defined as a key-value pair, where the key is a string and the value is of a primitive type such as numbers or strings. Importantly, each event must include a mandatory 'Name' property. Given a list of events, the task is to count the number of events based on …


    Read More
  • Monotonicity: Sliding Window

    calendar Nov 27, 2023 · 5 min read · Algorithms Interview  ·
    Share on: twitter copy

    A function is monotonic if it preserves the order of its arguments, i.e., if $x \le y$, then $f(x) \le f(y) $. In this post, we look at a class of problems where the argument is an interval. By identifying monotonic functions, we can reduce number of intervals to enumerate by an order of magnitude, from $O(n^2)$ to …


    Read More
  • Monotonicity: Find Largest Subarrays for Each Array Element

    calendar Nov 23, 2023 · 6 min read · Algorithms Interview  ·
    Share on: twitter copy

    Given an array of numbers $A$, for each number $A[i]$, find the largest subarray that contains $A[i]$ and $A[i]$ is the minimum of the subarray. For example, for $A=[2, 0, 3, 5, 1, 1, 0, 2 1]$, the largest subarray for $A[4]$ is $[3,5,1,1]$. Let's represent the subarray for $A[i]$ as the left boundary $l[i]$ and right …


    Read More
  • Monotonicity: Find the K-th number in two sorted arrays

    calendar Oct 10, 2023 · 4 min read · Algorithms Interview  ·
    Share on: twitter copy

    Given two sorted arrays of integers, $A$ and $B$, find the $K$-th smallest integer from A and B in $O(\min(\log{N}, \log{M}))$ time. $N$ and $M$ are the size of $A$ and $B$ respectively. Without loss of generality, we can assume A and B are of the same length N. Because both A and B are sorted, we can merge A and B …


    Read More

Peng Zhang

Software Engineer

Recent Posts

  • A Few Shell Surprises
  • x509: certificate signed by unknown authority? Maybe the cert pool is empty
  • Lessons from an errgroup and Context mishap
  • Avoid panic on expected errors: lessons from operating journald-to-cwl
  • GPG is still in use to verify downloads
  • Why does GOMEMLIMIT take up significant physical memory for unused virtual memory?
  • Logs default to stderr in Go and other languages: avoid using stderr to determine program success.
  • AL2023 vs. AL2: less disk space with ext4?

Tags

GO 15 ALGORITHMS 8 INTERVIEW 7 LINUX 7 GUIDE 3 CONTAINER 2 DISTRIBUTED-SYSTEM 2 WEB 2 BOTTLEROCKET 1 COMPUTER-ARCHITECTURE 1 CONCURRENCY 1 CRYPTOGRAPHY 1 DATABASES 1 SELINUX 1
All Tags
ALGORITHMS8 BOTTLEROCKET1 COMPUTER-ARCHITECTURE1 CONCURRENCY1 CONTAINER2 CRYPTOGRAPHY1 DATABASES1 DISTRIBUTED-SYSTEM2 GO15 GUIDE3 INTERVIEW7 LINUX7 SELINUX1 SHELL1 TESTING1 WEB2
[A~Z][0~9]
Peng Zhang

Copyright 2022-  PENG ZHANG. All Rights Reserved

to-top