当前位置: 首页 > news >正文

牛客春招刷题训练营 算法 Java 3月27日 杨辉三角的变形 计算日期到天数转换 而后单调

目录

#牛客春招刷题训练营# + 【春招神助攻】牛客刷题营开启:每日一题攒牛币,大厂offer不是梦!_牛客网

题目地址

1.杨辉三角的变形

2.计算日期到天数转换

3.而后单调


#牛客春招刷题训练营# + 【春招神助攻】牛客刷题营开启:每日一题攒牛币,大厂offer不是梦!_牛客网

题目地址

杨辉三角的变形_牛客题霸_牛客网

计算日期到天数转换_牛客题霸_牛客网

而后单调_牛客题霸_牛客网

1.杨辉三角的变形

我们打个表就不难发现规律

下面是我打的表

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        long n=in.nextLong();
        if(n==1||n==2){
            System.out.print("-1");
        }
        else if((n+1)%2==0){
            System.out.println("2");
        }else if(n%4==0){
            System.out.println("3");
        }else if((n-2)%4==0){
            System.out.println("4");
        }
    }
}

2.计算日期到天数转换

我这边直接调用的Calendar 类

首先获得 Calendar 单例对象

然后用 set 方法挂载属性值

用 get 方法获取时间 传入的属性是字符串(成员变量)

import java.time.*;
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int year = Integer.parseInt(in.next());    
        int month = Integer.parseInt(in.next()); ;     
        int day = Integer.parseInt(in.next());    
        
        Calendar calendar = Calendar.getInstance(); 
        calendar.set(year,  month - 1, day); 
        int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR); 
        
        System.out.println(dayOfYear);
    }
}

3.而后单调

首先严格递增的序列不行

其次有两个相邻元素一样的不行

仅供参考

import java.io.*;
import java.time.*;
import java.util.*;

public class Main {

	static Scanner sc = new Scanner(System.in);
	static String[] ss;
	static String s;

	public static void main(String[] args) throws IOException {
        int t=sc.nextInt();
		while (t-- > 0) {
			solve();
		}
	}

	public static void solve() throws IOException {

		int n  = sc.nextInt();
		int m  = sc.nextInt();
		int nums [] = new int[n];

		HashSet<Integer> set = new HashSet<>();
		Integer[] tmp = new Integer[n];

		for (int i = 0; i < n; i++) {
			nums[i] = sc.nextInt();
			set.add(nums[i]);
			tmp[i] = nums[i];
		}
        
        // 不能有重复元素
		if(set.size()!=n){
			System.out.println("NO");
			return;
		}

		Arrays.sort(tmp);
		HashMap<Integer, Integer> map = new HashMap<>();
		
        for (int i = 0; i < tmp.length; i++) {
			map.put(tmp[i],i);
		}

		for (int i = 0; i < nums.length; i++) {
			nums[i] = map.get(nums[i]);
		}
		int max =0;

		int cnt = 1;
		for (int i = 1; i < nums.length; i++) {
			if(Math.abs(nums[i]-nums[i-1])==1){
				cnt++;
			}else{
				max = Math.max(max, cnt);
				cnt=1;
			}
		}
        
		max = Math.max(max, cnt);

        System.out.println(max>=m?"YES":"NO");
	}

}

相关文章:

  • 详细介绍一下Vue3的实现原理?
  • Codecademy—— 交互式编程学习的乐园
  • leetcode215.数组中的第k个最大元素
  • intel-xpu-backend-for-triton绕过pytorch直接调用Unified-Runtime
  • 小程序31-wxml语法-setData() 修改数据
  • RTC实时时钟M41T11M6F国产替代FRTC4111S
  • vue3如何批量设置每个vue页面的defineOptions的name
  • Web Workers 技术解析与应用
  • # 基于 OpenCV 的人脸识别实战:从基础到进阶
  • 贪心进阶学习笔记
  • Elasticsearch简介及索引库操作
  • 全新开源PHP轻量级活码管理系统|支持二维码动态更新与自动失效机制
  • 【力扣hot100题】(064)在排序数组中查找元素的第一个和最后一个位置
  • 【Tauri2】015——前端的事件、方法和invoke函数
  • Docker常用操作教程
  • java发送http请求
  • 数字化转型:重构生存逻辑,不止系统升级
  • AI面试实践手册|牛客网
  • Flutter 打包APK的几种方式
  • 架构思维: 全链路日志深度解析
  • 咨询行业网站开发/下载百度推广app
  • 织梦程序做交友网站/网站制作工具有哪些
  • 什么叫商城网站/山西搜索引擎优化
  • 有哪些网站可以做h5/网站网络推广优化
  • 初创企业网站建设流程/引流推广的句子
  • 东莞大岭山建网站公司/深圳市龙华区