Software Technology Blog

Welcome to the Software Technology Blog, the knowledge articles page for React, JavaScript, and technical skills. Whether you're looking for technical information about monorepo, state management tips for zustand, or want to improve your understanding of front-end development, there's a wealth of resources here. Each article is carefully crafted to provide clear, easy-to-understand content to help you find the information you need quickly. From basic concepts to advanced tips, there's something for everyone, whether you're a beginner or an advanced developer.If you are interested in graphic content, you can also refer to our Instagram.

CES 2025: How does NVIDIA use 3 keys to promote AI technology innovation?

The rapid rise of AI is changing our world at an unprecedented speed, and NVIDIA is undoubtedly a pivotal driver in this wave! In the just-concluded CES 2024, NVIDIA's multiple announcements have once again led the industry direction. Whether it is breakthroughs in hardware performance or the popularization of AI applications, they have injected strong momentum into the future development of AI technology.
Today, we will focus on some of NVIDIA’s latest announcements at CES and how these updates will affect our future!

Read More »

[Leetcode] 0021. Merge Two Sorted Lists

You are given the heads of two sorted linked lists list1 and list2.

Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists.

Return the head of the merged linked list.

Read More »

[Leetcode] 2402. Meeting Rooms III

ou are given an integer n. There are n rooms numbered from 0 to n – 1.

You are given a 2D integer array meetings where meetings[i] = [starti, endi] means that a meeting will be held during the half-closed time interval [starti, endi). All the values of starti are unique.

Meetings are allocated to rooms in the following manner:

Each meeting will take place in the unused room with the lowest number.
If there are no available rooms, the meeting will be delayed until a room becomes free. The delayed meeting should have the same duration as the original meeting.
When a room becomes unused, meetings that have an earlier original start time should be given the room.
Return the number of the room that held the most meetings. If there are multiple rooms, return the room with the lowest number.

A half-closed interval [a, b) is the interval between a and b including a and not including b.

Read More »

Cursor AI: An AI editor suitable for everyone from novices to professional engineers. How to use it?

The process of writing programs presents different challenges to people of different levels. For example:
Newbies may get stuck on syntax, spend a lot of time finding simple mistakes, and not even know how to get started.
What engineers pursue is efficient development, reducing repetitive work and avoiding trivial errors that slow down progress.
Product designers and product managers hope to quickly verify ideas, but programming syntax is a higher threshold for them.
Traditional code editors already have certain functions, but in the face of these problems, there is still a lot of room for improvement. Cursor, a code editor combined with AI, was born to solve these pain points, making programming more efficient, intuitive, and easier to learn.
This article will introduce the motivation behind Cursor, how to use it, compare it with other editors, explain its limitations and best usage scenarios, as well as the future development trends of AI editors. Let’s read on!

Read More »

[Leetcode] 0057. Insert Interval

You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and intervals is sorted in ascending order by starti. You are also given an interval newInterval = [start, end] that represents the start and end of another interval.

Insert newInterval into intervals such that intervals is still sorted in ascending order by starti and intervals still does not have any overlapping intervals (merge overlapping intervals if necessary).

Return intervals after the insertion.

Note that you don't need to modify intervals in-place. You can make a new array and return it.

Read More »

[Leetcode] 0261. Graph Valid Tree

You have a graph of n nodes labeled from 0 to n – 1. You are given an integer n and a list of edges where edges[i] = [ai, bi] indicates that there is an undirected edge between nodes ai and bi in the graph.

Return true if the edges of the given graph make up a valid tree, and false otherwise.

Read More »

[Leetcode] 0269. Alien Dictionary

There is a new alien language that uses the English alphabet. However, the order of the letters is unknown to you.

You are given a list of strings words from the alien language's dictionary. Now it is claimed that the strings in words are sorted lexicographically by the rules of this new language.

If this claim is incorrect, and the given arrangement of string in words cannot correspond to any order of letters, return "".

Otherwise, return a string of the unique letters in the new alien language sorted in lexicographically increasing order by the new language's rules. If there are multiple solutions, return any of them.

Read More »

[Leetcode] 0305. Number of Islands II

You are given an empty 2D binary grid grid of size mx n. The grid represents a map where 0's represent water and 1's represent land. Initially, all the cells of grid are water cells (ie, all the cells are 0's).

We may perform an add land operation which turns the water at position into a land. You are given an array positions where positions[i] = [ri, ci] is the position (ri, ci) at which we should operate the ith operation .

Return an array of integers answer where answer[i] is the number of islands after turning the cell (ri, ci) into a land.

An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Read More »

[Leetcode] 0200. Number Of Islands

Given an mxn 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands.

An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Read More »

[Leetcode] 0417. Pacific Atlantic Water Flow

There is an mxn rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island's left and top edges, and the Atlantic Ocean touches the island's right and bottom edges.

The island is partitioned into a grid of square cells. You are given an mxn integer matrix heights where heights[r][c] represents the height above sea level of the cell at coordinate (r, c).

The island receives a lot of rain, and the rain water can flow to neighboring cells directly north, south, east, and west if the neighboring cell's height is less than or equal to the current cell's height. Water can flow from any cell adjacent to an ocean into the ocean.

Return a 2D list of grid coordinates result where result[i] = [ri, ci] denotes that rain water can flow from cell (ri, ci) to both the Pacific and Atlantic oceans.

Read More »

[Leetcode] 0213. House Robber ii

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have a security system connected, and it will automatically contact the police if two adjacent houses were broken into on the same night.

Given an integer array nums representing the amount of money of each house, return the maximum amount of money you can rob tonight without alerting the police.

Read More »

[LeetCode] 0140. Word Break ii

Given a string s and a dictionary of strings wordDict, add spaces in s to construct a sentence where each word is a valid dictionary word. Return all such possible sentences in any order.

Note that the same word in the dictionary may be reused multiple times in the segmentation.

Read More »
en_USEnglish