=========================================================================================
class Solution {
public int[] getConcatenation(int[] nums) {
//在n和2n分别弄两个索引进行拷贝就可以了
int n=nums.length;
int arr[]=new int [2*n];
int j=0;
for(int i=0;i<2*n;i++){
if(i<n){
arr[i]=nums[i];
}else{
arr[i]=nums[j];
j++;
}
}
return arr;
}
}
第三题:1920. 基于排列构建数组
=======================================================================================================
这题按照题目的意思就可以了
class Solution {
public int[] buildArray(int[] nums) {
int n= nums.length;
int []arr=new int[n];
for(int i=0;i<n;i++){
arr[i]=nums[nums[i]];
}
return arr;
}
}
第四题:1480. 一维数组的动态和
==================================================================================================
第一想法就是创建一个方法实现前几项的和。
class Solution {
public int[] runningSum(int[] nums) {
int count=0;
int n=nums.length;
int arr[]=new int[n];
for(int i=0;i<nums.length;i++){
count=soul(nums,i+1);
arr[i]=count;
}
return arr;
}
public static int soul(int nums[],int n){
int sum=0;
for(int i=0;i<n;i++){
sum+=nums[i];
}
return sum;
}
}
=============================================================================================================================
这题参考了一下评论区的想法
class Solution {
public String reverseLeftWords(String s, int n) {
StringBuilder sb=new StringBuilder();
for(int i=n;i<s.length();i++){
sb.append(s.charAt(i));//从n开始得到每个字符
}
for(int i=0;i<n;i++){
sb.append(s.charAt(i));//将第一个到n依次加到之前的后面
}
return sb.toString();//转为字符串后返回
}
}
第六题:1108. IP 地址无效化
==================================================================================================
class Solution {
public String defangIPaddr(String address) {
StringBuilder sb=new StringBuilder();
for(int i=0;i<address.length();i++){
if(address.charAt(i) == ‘.’){//当等于’.'时不加进去,而加"[.]"这样就完成了替换
sb.append(“[.]”);
continue;
}
sb.append(address.charAt(i));
}
return sb.toString();
}
}
====================================================================================================
class Solution {
public String replaceSpace(String s) {
StringBuilder sb=new StringBuilder();
for(int i=0;i<s.length();i++){
if(s.charAt(i)==’ '){
sb.append(“%20”);
continue;
}
sb.append(s.charAt(i));
}
return sb.toString();
}
}
字符串替换总结:
这种字符串替换的问题,其实一个思路,先创建StringBuilder类,在一个for循环中通过
s.charAt(i)得到s字符串中的每个字符,在通过比对要换的字符,比对成就加入替换的字符
在通过此次字符暂停(continue),StingBuilder对象.append(s.charAt(i))即可.最后通过
toSting()返回即可.
======================================================================================================================================
第一想法的老方法
class Solution {
public int[] smallerNumbersThanCurrent(int[] nums) {
int count=0;
int n=nums.length;
int arr[]=new int[n];
for(int i=0;i<n;i++){
count=soul(nums,i);
arr[i]=count;
}
return arr;
}
专业技能
一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题
- HTML+CSS
- JavaScript
- 前端框架
- 前端性能优化
- 前端监控
- 模块化+项目构建
- 代码管理
- 信息安全
- 网络协议
- 浏览器
- 算法与数据结构
- 团队管理
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。
其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等
由于文章篇幅有限,仅展示部分内容