JS实战

目录

一,计算器

二,OJ实战

力扣 367. 有效的完全平方数

力扣 1803. 统计异或值在范围内的数对有多少

力扣 2703. 返回传递的参数的长度


一,计算器

代码

<html>
<script>
function myFunction() {
    a=document.getElementById("a").value;
    op=document.getElementById("op").value;
    b=document.getElementById("b").value;
    if(op=="+")c=a+b;
    if(op=="-")c=a-b;
    if(op=="*")c=a*b;
    if(op=="/")c=a/b;
    document.getElementById("demo").innerHTML = c;
}
</script>
<body>
<input type="number" id="a">
  <select id="op">
    <option value="+">+</option>
    <option value="-">-</option>
    <option value="*">*</option>
    <option value="/">/</option>
  </select>
<input type="number" id="b">
<input type="submit" onclick="myFunction()">
<p id="demo">?</p>
</body>
</html>

运行:

二,OJ实战

力扣 367. 有效的完全平方数

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。

进阶:不要 使用任何内置的库函数,如  sqrt 。

示例 1:

输入:num = 16
输出:true
示例 2:

输入:num = 14
输出:false
 

提示:

1 <= num <= 2^31 - 1

var isPerfectSquare = function(num) {
    for(var i=0;i*i<=num;i++){
        if(i*i==num)return true;
    }
    return false;
};

力扣 1803. 统计异或值在范围内的数对有多少

给你一个整数数组 nums (下标 从 0 开始 计数)以及两个整数:low 和 high ,请返回 漂亮数对 的数目。

漂亮数对 是一个形如 (i, j) 的数对,其中 0 <= i < j < nums.length 且 low <= (nums[i] XOR nums[j]) <= high 。

示例 1:

输入:nums = [1,4,2,7], low = 2, high = 6
输出:6
解释:所有漂亮数对 (i, j) 列出如下:
    - (0, 1): nums[0] XOR nums[1] = 5 
    - (0, 2): nums[0] XOR nums[2] = 3
    - (0, 3): nums[0] XOR nums[3] = 6
    - (1, 2): nums[1] XOR nums[2] = 6
    - (1, 3): nums[1] XOR nums[3] = 3
    - (2, 3): nums[2] XOR nums[3] = 5
示例 2:

输入:nums = [9,8,4,2,1], low = 5, high = 14
输出:8
解释:所有漂亮数对 (i, j) 列出如下:
​​​​​    - (0, 2): nums[0] XOR nums[2] = 13
    - (0, 3): nums[0] XOR nums[3] = 11
    - (0, 4): nums[0] XOR nums[4] = 8
    - (1, 2): nums[1] XOR nums[2] = 12
    - (1, 3): nums[1] XOR nums[3] = 10
    - (1, 4): nums[1] XOR nums[4] = 9
    - (2, 3): nums[2] XOR nums[3] = 6
    - (2, 4): nums[2] XOR nums[4] = 5
 

提示:

1 <= nums.length <= 2 * 104
1 <= nums[i] <= 2 * 104
1 <= low <= high <= 2 * 104

这题显然是字典树的题,不过看到数据量是2万,就偷个懒吧,谁让力扣给JS开的是10秒门槛呢,就当JS练手了。

var countPairs = function(nums, low, high) {
    var ans=0;
    for(var i=0;i<nums.length;i++){
        for(var j=i+1;j<nums.length;j++){
            if((nums[i]^nums[j])>=low && (nums[i]^nums[j])<=high)ans++;
        }
    }
    return ans;
};

力扣 2703. 返回传递的参数的长度

请你编写一个函数 argumentsLength,返回传递给该函数的参数数量。

示例 1:

输入:args = [5]
输出:1
解释:
argumentsLength(5); // 1

只传递了一个值给函数,因此它应返回 1。

示例 2:

输入:args = [{}, null, "3"]
输出:3
解释:
argumentsLength({}, null, "3"); // 3

传递了三个值给函数,因此它应返回 3。

提示:

  • args 是一个有效的 JSON 数组
  • 0 <= args.length <= 100
var argumentsLength = function(...args) {
	return args.length;
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值