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!
[Leetcode] 0023. Merge k Sorted Lists
You are given an array of k linked-lists lists, each linked-list is sorted in ascending order.
Merge all the linked-lists into one sorted linked-list and return it.
[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.
[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.
[Leetcode] 0253. Meeting Rooms II
Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required.
[Leetcode] 0252. Meeting Rooms
Given an array of meeting time intervals where intervals[i] = [starti, endi], determine if a person could attend all meetings.
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!
[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.
[Leetcode] 0323. Number of Connected Components in an Undirected Graph
You have a graph of n nodes. You are given an integer n and an array edges where edges[i] = [ai, bi] indicates that there is an edge between ai and bi in the graph.
Return the number of connected components in the graph.
[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.
[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.
[Leetcode] 0128. Longest Consecutive Sequence
Given an unsorted array of integers nums, return the length of the longest consecutive elements sequence.
You must write an algorithm that runs in O(n) time.
[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.
[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.
[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.
[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.
[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.