本文主要是介绍面试官竟然是前女友,全程被拷打。。。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在网上看到一篇文章,一网友说自己在面试的时候遇到了自己的前女友,面试中全程被拷问被挑剔。关键是面试结束的时候前女友说面试结果后续会通知你,有问题会给你发邮件打电话,但你的手机号被我拉黑了。
手机号被拉黑问题不大,即便打电话也是拨打简历上的号码,只要简历上写了就行。我们来看下其他网友的评论,那是相当精彩。其中一位网友说想替女主狠狠拷打楼主。
还有的说剧情都已经想好了,入职》后悔》复合。
下面这个更狠,要求二面,然后继续拷打。
还有的说拿下offer再顺便把她也拿下。
还有的网友要求把这个故事写本书。
还有网友在催更,想看他们的后续,一直到他们结婚,全部一起写出来。
--------------下面是今天的算法题--------------
下面就是今天的算法题了,因为今天是周日,不适合看太难的,我们就看一道非常简单的算法题,这题是LeetCode的第66题:加一。
问题描述
来源:LeetCode第66题
难度:简单
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。
示例1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
1 <= digits.length <= 100
0 <= digits[i] <= 9
问题分析
这题说的是对一个数字加一,并且这个数字使用的是数组表示。因为一个数字只要不是 9 ,加一之后都不需要进位,所以我们可以从右往左(从个位加起)遍历数组,如果当前数字只要不是 9 ,直接把它加一然后返回即可。
如果遇到 9 ,就把它变成 0 ,往前进一位,也就是对前面的数字加一,前面的数字也要区分是不是 9 的情况。
JAVA:
public int[] plusOne(int[] digits) {int length = digits.length;// 对数组从后往前遍历for (int i = length - 1; i >= 0; i--) {if (digits[i] != 9) {// 如果当前数字不是9,直接加1返回即可。digits[i]++;return digits;} else {// 如果当前数字是9,让它变成0,继续对它前面的数字加一。digits[i] = 0;}}// 除非数组中的元素都是9,否则不会走到这一步,// 如果数组的元素都是9,需要把数组的长度加1,// 然后把数组的第一个元素变为1,其他都是0。int tmp[] = new int[length + 1];tmp[0] = 1;return tmp;
}
C++:
public:vector<int> plusOne(vector<int>& digits) {int length = digits.size();// 对数组从后往前遍历for (int i = length - 1; i >= 0; i--) {if (digits[i] != 9) {// 如果当前数字不是9,直接加1返回即可。digits[i]++;return digits;} else {// 如果当前数字是9,让它变成0,继续对它前面的数字加一。digits[i] = 0;}}// 除非数组中的元素都是9,否则不会走到这一步,// 如果数组的元素都是9,需要把数组的长度加1,// 然后把数组的第一个元素变为1,其他都是0。vector<int> tmp(length + 1);tmp[0] = 1;return tmp;}
C:
int* plusOne(int* digits, int digitsSize, int* returnSize) {// 对数组从后往前遍历for (int i = digitsSize - 1; i >= 0; i--) {if (digits[i] != 9) {// 如果当前数字不是9,直接加1返回即可。digits[i]++;*returnSize=digitsSize;return digits;} else {// 如果当前数字是9,让它变成0,继续对它前面的数字加一。digits[i] = 0;}}// 除非数组中的元素都是9,否则不会走到这一步,// 如果数组的元素都是9,需要把数组的长度加1,// 然后把数组的第一个元素变为1,其他都是0。int *tmp = (int*)malloc((digitsSize+1)*sizeof(int));memset(tmp, 0, (digitsSize+1)*sizeof(int));tmp[0] = 1;*returnSize=digitsSize+1;return tmp;
}
Python:
def plusOne(self, digits: List[int]) -> List[int]:length = len(digits)# 对数组从后往前遍历for i in range(length - 1, -1, -1):if digits[i] != 9:# 如果当前数字不是9,直接加1返回即可。digits[i] += 1return digitselse:# 如果当前数字是9,让它变成0,继续对它前面的数字加一。digits[i] = 0;"""除非数组中的元素都是9,否则不会走到这一步,如果数组的元素都是9,需要把数组的长度加1,然后把数组的第一个元素变为1,其他都是0。"""tmp = [0] * (length + 1)tmp[0] = 1;return tmp;
笔者简介
博哥,真名:王一博,毕业十多年,《算法秘籍》作者,专注于数据结构和算法的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解700多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以下载我整理的1000多页的PDF算法文档。
我的新书《算法秘籍》出版了。
公众号是怎么写出10万+的文章的。
京东今年的校招薪资。。。
这篇关于面试官竟然是前女友,全程被拷打。。。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!