175题 组合两个表
表1: Person
+-------------+---------+
| 列名 | 类型 |
+-------------+---------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
PersonId 是上表主键
表2: Address
+-------------+---------+
| 列名 | 类型 |
+-------------+---------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
+-------------+---------+
AddressId 是上表主键
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State
我的答案
select FirstName, LastName, City, State
from Person
left join Address
on Person.PersonId = Address.PersonId
66题 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
我的答案
class Solution {
public int[] plusOne(int[] digits) {
int now = digits.length - 1;
int[] a = null;
do {
digits[now] += 1;
if (digits[now] >= 10) {
digits[now] -= 10;
now--;
if (now == -1) {
a = new int[digits.length + 1];
a[0] = 1;
for (int i = 1; i < digits.length; i++) {
a[i] = digits[i - 1];
}
return a;
}
continue;
}
return digits;
} while (true);
}
}