第 218 场周赛

5617. 设计 Goal 解析器

class Solution {
    public String interpret(String command) {
        String regex = "\\(al\\)";
    	command = command.replaceAll(regex, "al");
    	String regex2 = "\\(\\)";
    	command = command.replaceAll(regex2, "o");
    	return command;
    }
}

5618. K 和数对的最大数目

class Solution {
    public int maxOperations(int[] nums, int k) {
        Arrays.sort(nums);
    	int len = nums.length;
    	int left = 0;
    	int right = len-1;
    	int count = 0;
    	
    	while(left<right) {

    		int sum = nums[left]+nums[right];
//    		System.out.println("l="+left+" ;r="+right+" ;sum="+sum);
    		if(sum==k) {
    			count++;
    			left++;
    			right--;
    		}else if(sum<k) {
    			left++;
    		}else {
    			right--;
    		}
    	}
    	return count;
    }
}

5620. 连接连续二进制数字

class Solution {
    public int concatenatedBinary(int n) {
        if(n==1) {
    		return 1;
    	}
    	int mod = 1000000007;
  
    	double sum = 1;
    	
    	for(int i=2;i<=n;i++) {
    		int count = 0;
        	for(int j=1;i<=n;j++) {
        		if(Math.pow(2, j)>i) {
        			count=j;
//        			System.out.println(count);
        			break;
        		}
        	}
        	
    		sum = (sum*(Math.pow(2,count))+i)%mod;
//    		System.out.println(i+" "+sum);
    	}
    	return (int)sum;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值