虾皮4.6算法岗笔试 编程题目
  虾皮笔试填空题说实话基本都不会,毕竟不是科班出身,这方面得补一补。代码过了2.8. 
   第一题 最小计算次数  
   对于给定的数x,y可以进行两种运算: 
   1.加一:(x ,y) -> (x + 1 ,y + 1) 
   2.乘二:(x ,y) -> (x * 2 ,y * 2)  
   问最少经过多少次运算可以得到targetX,targetY,不能运算成功的返回-1。 
   解题思路,这题过了80%,一开始先判断给定的两组数(source,target)的奇偶数或者大小,比如说target<source就肯定返回-1, source的X和Y如果都是偶数或奇数那么target也都是偶数或都是奇数等等。这个判断可以过个20%好像。 
   然后target 能除2的除,除不了再减1再除。 
    第二题 互斥字符串  
     字符串只有A或者B两个字符,如果字符串中相邻两个字符不同,则为互斥字符串。可以把某个字符变成另一个,问给定的字符串变为互斥字符串所需要的最少变换次数。  
     解题思路,这题100%,一开始想复杂了,后来想想发现只有两种可能,字符串要么A开头要么B开头,时间复杂度O(n)。  
     第三题 N皇后,力扣原题。100%  
   查看16道真题和解析
查看16道真题和解析