记录于2021/4/11:
Leetcode这周的周赛:
第一题简单的数组累承判断所得的乘积是否是正数,负数,还是0
这一题不用真正的相乘,只需要判断数组里因子的负因子的数量即可
public static int arraySign(int[] nums) {
int []flag=new int[3];
for(int i=0;i<nums.length;i++){
if(nums[i]>0) flag[0]++;
else if(nums[i]<0) flag[1]++;
else flag[2]++;
}
if(flag[2]!=0) return 0;
else if(flag[1]%2==0) return 1;
else return -1;
}
第二题就是约瑟夫环问题,不要哦模拟不要模拟!!!理解用公式直接带出来即可
没有AC,
5727. 找出游戏的获胜者
//约瑟夫环
public static int findTheWinner(int n, int k) {
int p=0;
for(int i=2;i<=n;i++)
{
p=(p+k)%i; //移动位置
}
return p+1;
}
第三题是迷宫问题的改版,不会,bfs或者dfs都可以,变形的。。。还是不会,麻了
5728. 最少侧跳次数
总结:约瑟夫环,需要学会推到公式;
下一周整一点bfs,dfs的题目练练。