x米员工爆料:35岁被裁后,投百份简历无人问津,一气之下把薪资由2W调为3W,简历改成英文,结果出乎意料!
话说一位在x米工作的朋友,被裁员后投了上百份简历,却始终得不到面试机会。
你说,35岁这个年龄,经验有了,但就是在求职市场上碰壁,感觉像是被时代淘汰了一样。
于是,这位兄弟一气之下,决定改动策略——先把薪资从2W调到3W,然后还把简历从中文改成了英文,完全换个姿势来挑战这个市场。
算法题:累加数
说白了,就是给你一个数字,判断这个数字是不是累加数。什么是累加数呢?简单说,如果你能把这个数字分成两部分,每部分都是连续数字,并且这两部分的和恰好等于原始数字,那它就是累加数。听起来像是个简单的数论问题对吧?但实际上,它需要一些巧妙的技巧和对数字运算的敏锐感知。
public class Solution {
public boolean isAdditiveNumber(String num) {
int len = num.length();
// 遍历所有可能的起始位置
for (int i = 1; i < len; i++) {
for (int j = i + 1; j < len; j++) {
// 获取第一和第二个数字
String num1 = num.substring(0, i);
String num2 = num.substring(i, j);// 如果包含前导零就跳过
if ((num1.length() > 1 && num1.charAt(0) == '0') || (num2.length() > 1 && num2.charAt(0) == '0')) {
continue;
}// 以num1和num2为起始,检查后面的数字
while (j < len) {
long sum = Long.parseLong(num1) + Long.parseLong(num2);
String sumStr = String.valueOf(sum);
// 如果当前和不匹配,说明不符合条件,直接跳出
if (!num.startsWith(sumStr, j)) {
break;
}
j += sumStr.length();
num1 = num2;
num2 = sumStr;
if (j == len) {
return true;
}
}
}
}
return false;
}public static void main(String[] args) {
Solution solution = new Solution();
System.out.println(solution.isAdditiveNumber("112358")); // true
System.out.println(solution.isAdditiveNumber("199100199")); // true
System.out.println(solution.isAdditiveNumber("1234")); // false
}
}
-END-
以上,就是今天的分享了,看完文章记得右下角给何老师点赞,也欢迎在评论区写下你的留言。