M面经Prepare: Find integer Average of 2 integers.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了M面经Prepare: Find integer Average of 2 integers.相关的知识,希望对你有一定的参考价值。

The definition of integer average is the highest smaller integer if average is floating point number. Also the condition if that they can not use any typecasting or any datatype other than int.

Example: a = 4, b = 5, avg = 4 a = 4, b = 6, avg = 5 a = -4, b = -6, avg = -5 a = 4, b = -5, avg = -1 a = -4, b = -5, avg = -5

-9%2 == -1 不是1, 所以负数%2==1不是奇数判定标准。但是偶数标准仍是%2 == 0

 1 package FindIntegerAverage;
 2 
 3 public class Solution {
 4     public int aver(int a, int b) {
 5         if ((a+b)%2 == 0)return (int)(a+b)/2;
 6         else return (int)(a+b-1)/2;
 7     }
 8 
 9     /**
10      * @param args
11      */
12     public static void main(String[] args) {
13         // TODO Auto-generated method stub
14         Solution sol = new Solution();
15         int res = sol.aver(-4, -5);
16         System.out.print(res);
17     }
18 
19 }

 

以上是关于M面经Prepare: Find integer Average of 2 integers.的主要内容,如果未能解决你的问题,请参考以下文章

G面经Prepare: Print Zigzag Matrix

FB面经 Prepare: Make Parentheses valid

FB面经Prepare: Merge K sorted Array

G面经Prepare: Longest All One Substring

FB面经 Prepare: K closest point to the origin

Groupon面经Prepare: Sort given a range && Summary: Bucket Sort