Given an integer array nums of length n and an integer target, find three integers at distinct indices in nums such that the sum is closest to target. Return the sum of the three integers. You may assume t…
Given an integer array nums of length n and an integer target, find three integers at distinct indices in nums such that the sum is closest to target. Return the sum of the three integers. You may assume t…
Given an array of n integers nums and an integer target, find the number of index triplets i, j, k with 0 <= i < j < k < n that satisfy the condition nums[i] + nums[j] + nums[k] < targe…
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters. …
为什么突然想起写这个 很多讲Unity渲染,Shader等等的文章或者书里都会提到相机投影,因为渲染管线里比较重要的一环就是如何把一个object投影到View上。大部分时候这个Matrix都是直接给出来的,或者简单两句解释。我看的似懂非懂,所以找了一些资料想来详细看看如何证明的。 准备工作 准备工作自然是线性代数,最重要的一个知识是线性代数。首先复习下面的两个知识点 关于1,我们先在平面坐标系,也就是二维空间看几个经典变换。 平面缩放矩阵 如果我们想要把一个平面图形缩放,缩放矩阵很容易写出来。 (x′y′)=(s…
Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i != j, i != k, and j != k, and nums[i] + nums[j] + nums[k] == 0. Notice that the solution set must not contain duplicate triplets. Example…
题干: Given an integer array nums, find three numbers whose product is maximum and return the maximum product. Example 1: Input: nums = [1,2,3] Output: 6 Example 2: Input: nums = [1,2,3,4] Output: 24 Example 3: Input: nums = [-1,-2,-3] Output: -6 Const…
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assum…
这个题过于经典,是个easy题型,但是因为在3sum之前想复习一下所以先写一下思路。 首先这个followup看完就知道一开始肯定是有brute force解法的,两次for循环找到相加为target的就直接返回 现在我们看看如何能够不用两个for-loop。 首先就是我们需要找到两个数相加 = target,但是其实我们也可以反向想一下,只要找到一个数 = target - 另一个数就可以了 比较简单的想法是我们循环两次,第一次保存target-nums[i],第二次循环来寻找数列是否有一个数 = target-…
题解思路 这道题一开始肯定想到的思路是 Brute Force。 即循环两次,固定 end,然后让 i 从 0 遍历到 end-1,寻找最大的 Area。 面积计算公式为:Area=(end−i)×min(height[i],height[end])Area=(end-i)\times\min(height[i],height[end]) 但是如此计算肯定会造成不必要的重复计算。 例如,如果 height[i]>height[i+1]height[i] > height[i+1] 那么继续向右移动 i…
88. Merge Sorted Array 这个题主要是要在num1上做一个in-place的替换,也就是说,题目不想让你去添加新的参数等等。 官方solution有个挺不人道的解法是: 这个确实没错,但是明显不是面试官要的,因为很明显一个非降序的数列不需要再排序一次了,且排序的时间复杂度达到了 O((n+m)log(n+m)) 第二种解法就是增加一个变量,拷贝nums1前m个数,然后用two pointer。分别给nums1和nums2各自一个pointer记录index,分别比对大小。 这样时间复杂…