c#_Math.Sign()

一、返回值

Math.Sign()有五种返回值

1) 1 // 正数

2) -1 // 负数

3) 0 // 正0

4) -0 // 负0

5) NaN // 非数字

注意:传递给该函数的参数会被隐式转换为数字类型。

二、Math.sign()  与  比较运算符

if (num > 0) {}  else {}

if (Math.sign(num) > 0) {}  else {}

实际上,如果只是单纯获取布尔状态,用比较运算符即可。Math.sign()的闪光点在于它返回的是数字值,这意味着它可以用于计算

 

转载于http://blog.sina.com.cn/s/blog_15a340f5a0102znc2.html


例题:        题源来自https://leetcode-cn.com/problems/defuse-the-bomb/  

解:
public class Solution 
{
    public int[] Decrypt(int[] code, int k) 
    {
        int[] sol = new int[code.Length];
        for(int i=0; i<code.Length; ++i)
        {
            for(int j=1; j<=Math.Abs(k); ++j)
            {
                sol[i] += code[(i + Math.Sign(k) * j + code.Length)%code.Length];
            }
        }
        return sol;
    }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值