每日算法&面试题,大厂特训二十八天——第二十六天(循环)
Posted 肥学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日算法&面试题,大厂特训二十八天——第二十六天(循环)相关的知识,希望对你有一定的参考价值。
目录标题
导读
肥友们为了更好的去帮助新同学适应算法和面试题,最近我们开始进行专项突击一步一步来。上一期我们完成了动态规划二十一天现在我们进行下一项对各类算法进行二十八天的一个小总结。还在等什么快来一起肥学进行二十八天挑战吧!!
专栏导航:上岸之路
特别介绍
📣小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
📣python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章,可以让你快乐学python练手项目专栏
📣另外想学JavaWeb进厂的同学可以看看这个专栏:传送们
📣这是个冲刺大厂面试专栏还有算法比赛练习我们一起加油 上岸之路
算法特训二十八天
已知函数 signFunc(x) 将会根据 x 的正负返回特定值:
如果 x 是正数,返回 1 。 如果 x 是负数,返回 -1 。 如果 x 是等于 0 ,返回 0 。 给你一个整数数组 nums 。令
product 为数组 nums 中所有元素值的乘积。返回 signFunc(product) 。
示例 1:
输入:nums = [-1,-2,-3,-4,3,2,1]
输出:1
解释:数组中所有值的乘积是 144 ,且 signFunc(144) = 1
示例 2:
输入:nums = [1,5,0,2,-3]
输出:0
解释:数组中所有值的乘积是 0 ,且 signFunc(0) = 0
示例 3:
输入:nums = [-1,1,-1,1,-1]
输出:-1
解释:数组中所有值的乘积是 -1 ,且 signFunc(-1) = -1
class Solution
public int arraySign(int[] nums)
int temp=0;
for(int i=0;i<nums.length;i++)
if(nums[i]<0)
temp++;
if(nums[i]>0)
continue;
if(nums[i]==0)
return 0;
if(temp%2==0)
return 1;
return -1;
给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换
操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。如果对 其中一个字符串 执行 最多一次字符串交换 就可以使两个字符串相等,返回 true ;否则,返回 false 。
示例 1:
输入:s1 = "bank", s2 = "kanb"
输出:true
解释:例如,交换 s2 中的第一个和最后一个字符可以得到 "bank"
示例 2:
输入:s1 = "attack", s2 = "defend"
输出:false
解释:一次字符串交换无法使两个字符串相等
示例 3:
输入:s1 = "kelb", s2 = "kelb"
输出:true
解释:两个字符串已经相等,所以不需要进行字符串交换
示例 4:
输入:s1 = "abcd", s2 = "dcba"
输出:false
class Solution
public boolean areAlmostEqual(String s1, String s2)
if (s1.equals(s2))
return true;
String s1_diff = "";
String s2_diff = "";
for (int i = 0;i < s1.length(); ++i)
if (s1.charAt(i) != s2.charAt(i))
s1_diff += s1.charAt(i);
s2_diff = s2.charAt(i) + s2_diff;
if (s1_diff.length() > 2)
return false;
return (s1_diff.length() == 2) && (s1_diff.equals(s2_diff));
面试题
给用户发消息任务超出队列,你用哪个拒绝策略?有其他方法吗 ?
ThreadPoolExecutor.CallerRunsPolicy
无界队列(LinkedBlockingQuene),继续添加任务到阻塞队列中等待执行。
用消息队列存任务数据,线程池慢慢处理
Java8 新特性有哪些了解?
接口的默认方法
Lambda 表达式
函数式接口
方法和构造函数引用
Lamda 表达式作用域
内置函数式接口
Optional
Streams(流)
Parallel Streams(并行流)
Maps
Date API(日期相关 API)
Annotations(注解)
点击直接资料领取
这里有python,Java学习资料还有有有趣好玩的编程项目,更有难寻的各种资源。反正看看也不亏。
以上是关于每日算法&面试题,大厂特训二十八天——第二十六天(循环)的主要内容,如果未能解决你的问题,请参考以下文章