349. 两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
说明:
输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。
我的答案
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> set = new HashSet<>();
for(int i=0;i<nums1.length;i++) {
if(!set.contains(nums1[i])) {
set.add(nums1[i]);
}
}
Set<Integer> list = new HashSet();
for(int i=0;i<nums2.length;i++) {
if(set.contains(nums2[i])){
list.add(nums2[i]);
}
}
int[] res = new int[list.size()];
int i=0;
for(Integer in:list) {
res[i++] = in;
}
return res;
}
}
剑指 Offer 17. 打印从1到最大的n位数
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]
说明:
用返回一个整数列表来代替打印
n 为正整数
class Solution {
public int[] printNumbers(int n) {
n = (int) Math.pow(10, n);
int[] res = new int[n-1];
for(int i=0;i<n-1;i++) {
res[i] = i+1;
}
return res;
}
}