public long GetMinCalculateCount(long sourceX, long sourceY, long targetX, long targetY) { int count = 0; while (targetX > 0 &;&; targetY > 0) { if (targetX == sourceX &;&; targetY == sourceY) { return count; } else if (targetX % 2 == 1 &;&; targetY % 2 == 1) { count++; targetX--; targetY--; } else if ((targetX % 2 == 0 &;&; targetY % 2 == 0) &;&; ((targetX / 2 > sourceX &;&; targetY / 2 > sourceY) || (targetX / 2 == sourceX &;&; targetY / 2 == sourceY))) { count++; targetX /= 2; targetY /= 2; } else { return (targetX - sourceX == targetY - sourceY) ? count + (targetX - sourceX) : -1; } } return -1; }
点赞 评论

相关推荐

点赞 评论 收藏
分享
04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
牛客网
牛客企业服务