刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】

news2024/10/6 20:29:13

刷题日记【第十三篇】-笔试必刷题【数根+星际密码+跳台阶扩展问题+快到碗里来】

1.方法区在JVM中也是一个非常重要的区域,它与堆一样,是被【线程共享】的区域。

下面有关JVM内存,说法错误的是?(c)
A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,
是线程隔离的
B.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,
是线程隔离的
C.方法区用于存储JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,
是线程隔离的
D.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

JVM运行时,数据区包含:虚拟机栈,堆,方法区,本地方法栈,程序计数器,其中,堆和方法区是线程共享的,虚拟机栈和程序计数器是线程私有的。

2.以下程序的输出结果是

public class Print{
	static boolean out(char c){
		System.out.print(c);
		return true;
	}
	public static void main(String[] argv){
		int i = 0;
		for(out('A');out('B') && (i<2);out('C')){
			i++;
			out('D');
		}
	}
}

在这里插入图片描述

3.给定代码:

public class SwitchTest{//1
	public static void main(String[] args) {//2
		System.out.println("value="+switchit(4));//3
	}//4
	public static int switchit(int x) {
		int j=1;
		switch (x) {
		case 1:j++;
		case 2:j++;
		case 3:j++;
		case 4:j++;
		case 5:j++;
		default:j++;
		}
		return j+x;
	}
}

第三行将输出什么?

switch代码块中没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8

4.线程安全

A.ConcurrentHashMap 使用 synchronized 关键字保证线程安全
B.HashMap 实现了 Collection 接口
C.Arrays.asList 方法返回 java.util.ArrayList 对象
D.SimpleDateFormat 对象是线程不安全的

ConcurrentHashMap使用通过volatile修饰符和后插入后特殊的算法实现读不加锁.

HashMap实现了Map接口

Array.asList返回的ArrayList不是util包中的ArrayList,而是Arrays类的一个继承了AbstractList内部类

SimpleDateFormat查看Java源码可以看到,它的方法都不是Synchronized的,也没有采用其他的同步措施

数根

在这里插入图片描述

import java.util.*;
class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext()) {
            String str = scan.nextLine();
            while(str.length() != 1) {
                int sum = 0;
                for(int i = 0; i < str.length(); i++) {
                    sum += str.charAt(i) - '0';
                }
                str= String.valueOf(sum);
            }
            System.out.println(str);
        }
    }
}

星际密码

在这里插入图片描述
这道题其实也是有规律的,首先接收多组测试用例,
每组用例:
输入第一行:正数n
第二行:n个数值xi
输出:每一个xi进行计算,f(xi),所有的结果拼接1为字符串
提前准备好f(xi)斐波那契的数据。

import java.util.*;
public class Main{
    public static void main(String []args){
        int[] nums = new int[10001];
        nums[1] = 1;
        nums[2] = 2;
        for(int i = 3;i<10001;i++){
            nums[i] = nums[i-1] + nums[i-2];
            nums[i] = nums[i] % 10000; //左上角的元素不能超过4位
        }
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            StringBuilder sb = new StringBuilder();
            int n = scanner.nextInt();
            for(int i = 0;i<n;i++){
                int xi = scanner.nextInt();
                sb.append(String.format("%04d",nums[xi])); //对左上角的不满4位的元素进行格式化
            }
            System.out.println(sb);
        }
    }
}


跳台阶扩展问题

在这里插入图片描述

下面是我第一次的做法,它遵循一个规律就是 2的(n-1)次方。

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param number int整型 
     * @return int整型
     */
    public int jumpFloorII (int number) {
        // write code here
        
        return (int)Math.pow(2,number-1);
    }
}

看到还有一种解法就是:用二进制0-1来表示跳或者不跳。(第n个台阶必须是1)
求总共有多少种跳法,就是求0-(n-1)位二进制数最大值的个数(从0开始循环到++,每次循环的值都是一种跳法)也就是2的(n-1)次方
2的(n-1)次方 = 1*2的(n-1)次方 = 1<<(n-1) =1<<–n

一行代码就可以解决!!!

public class Solution {
    public int jumpFloorII(int target) {
        return 1<<--target;
    }
}

快到碗里来

在这里插入图片描述

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextDouble()){
            double n = scanner.nextDouble();
            double r = scanner.nextDouble();
            if (n<=(2*r*3.14)){
                System.out.println("Yes");
            }else {
                System.out.println("No");
            }
        }
    }
}

这道题看似简单,但是用double来取值可能会存在误差,这里我们使用BigDecimal的方法来完成,非常清晰简单!!!

import java.util.Scanner;
import  java.math.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            BigDecimal n = in.nextBigDecimal();
            BigDecimal r = in.nextBigDecimal();
            BigDecimal len = new BigDecimal("6.28").multiply(r);
            System.out.println(n.compareTo(len)==1?"No":"Yes");

        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GO语言之Goroutine和channel

1&#xff0c;goroutine-看一个需求 需求&#xff1a;要求统计1-90000000000的数字中&#xff0c;哪些是素数哦&#xff1f; 分析思路&#xff1a; 1&#xff09;传统的方法&#xff0c;就是使用一个循环&#xff0c;循环的判断各个数是不是素数。 2&#xff09;使用并发或…

Metabase学习教程:提问-5

多级聚合 如何使用查询生成器对多个部分提出问题。 许多分析问题只需四个步骤即可回答&#xff1a; 连接需要的表得到需要的信息。过滤数据使其仅包含期望的记录。分组和聚合这些数据&#xff0c;创造你所需要的价值。可视化结果&#xff0c;方便直观的理解数据告诉了你什么…

SpringBoot 集成JWT实现登录认证

如果文章对你有帮助欢迎【关注❤️❤️❤️点赞&#x1f44d;&#x1f44d;&#x1f44d;收藏⭐⭐⭐】一键三连&#xff01;一起努力&#xff01; 一、JWT简介 JSON Web Token&#xff08;JWT&#xff09;是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递…

基于粒子群优化算法的最佳方式设置无线传感器节点的位置,以减轻由于任何能量耗尽节点而产生的覆盖空洞(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

数据脱敏的安全管理

什么是数据脱敏 我们需要先说下什么是敏感数据&#xff0c; 敏感数据泛指个人信息&#xff08;姓名、电话、住址、健康信息、证件等数据&#xff09;、涉及需要保护的数据。 数据脱敏&#xff0c;是将敏感数据按照一定的规则对敏感数据进行变形&#xff0c;达到保护用户信息安…

提升80%上云集成效率, TA是如何做到的

摘要&#xff1a;基于华为云开天aPaaS&#xff0c;提升80%上云集成效率&#xff0c;降低50%集成成本没有充足资金&#xff0c;没有足够的项目规划和过渡时间&#xff0c;也没有经验丰富的IT团队支持&#xff0c;中小企业的上云路可谓是困难重重。如何帮助企业高效上云、实现降本…

【Globalmapper中文入门到精通系列实验图文教程】(附配套实验数据持续更新)

【Globalmapper中文版入门到精通系列实验图文教程】&#xff08;附配套实验数据持续更新&#xff09; 文章目录一、专栏简介二、文章目录三、数据目录四、传送门一、专栏简介 本专栏为GlobalMapper中文入门实战精品教程&#xff0c;内容主要涉及&#xff1a;Globalmapper23软件…

【Oracle】数据库账号频繁被锁问题解决

文中使用的Oracle版本为11g。 今天在测试环境中遇到了一个问题&#xff0c;如下图&#xff1a; 所有的数据库客户端访问Oracle11g都出现了上面的提示“ORA-28000: the account is locked”&#xff0c;一开始其实并不知道是什么原因引起的问题&#xff0c;到后面才发现是登录错…

Kotlin 开发Android app(九):Android两大布局LinearLayout和RelativeLayout

Kotlin 的基本特性就先写到这里&#xff0c;我们这个系列的定位是基础&#xff0c;也就是能用就好&#xff0c;够用就好&#xff0c;我们不会举太多的例子&#xff0c;但是这些都是最经常用到的特性。 从这节开始就是Kotlin和android 进行结合&#xff0c;使用Kotlin进行安卓应…

基于Spring Cloud的架构使用学习升级之路

引言 Spring Cloud全家桶用了挺长时间了&#xff0c;很长一段时间都是基于已有的架构进行需求研发。今年成为团队技术负责人&#xff0c;承担了新的项目&#xff0c;这是很好的一个机会&#xff0c;于是开启了项目架构升级之路。 架构&#xff0c;是团队项目的根基。在一个团…

数字信号处理-5-傅里叶分析

1 傅里叶系数 傅里叶级数用公式如下&#xff1a; a0、a1、a2、a3…b1、b2、b3…叫做傅里叶系数。cosnx 或 sinnx 中的 n 对应着频率&#xff0c;决定 sin、cos 大小的系数是 an、bn。 2 傅里叶变换 步骤1 求傅里叶系数 从原波形 F(x) 中求傅里叶系数中的 a0、a1、a2、a3……

IPD-产品需求管理过程(1)

一、产品需求管理模型 在确定客户需求时,要考虑影响用户购买标准的八类基本需求($APPEALS),并基于客户视角进行详细分解,形成有针对性的产品。 1.1、需求管理业务流程 二、需求收集流程 2.1、需求收集的来源 路标规划:通过市场管理流程分析,落实到路标规划中的需求…

python中StringIO和BytesIO

1. 类文件对象 最常见的io操作是将磁盘中的文件读到内存以及内存内容写入文I件。还有一种内存和内存之间的IO&#xff0c;叫类文件对象&#xff0c;python中的StringIO和BytesIO就是类文件对象&#xff0c;通俗解释即&#xff1a;像操作文件一样在内存中操作字符串和二进制内容…

基于FPGA的SD卡的数据读写实现(SD NAND FLASH)

文章目录 1、存储芯片分类 2、NOR Flash 与 NAND Flash的区别 3、什么是SD卡&#xff1f; 4、什么是SD NAND&#xff1f; 5、SD NAND的控制时序 6、FPGA实现SD NAND读写 6.1、设计思路 6.2、仿真结果 6.3、实验结果 1、存储芯片分类 目前市面上的存储芯片&#xff0…

如何使用腾讯云提供的WordPress应用镜像搭建博客网站系统!

之前也有写过搭建WordPress的教程&#xff0c;如何使用轻量应用服务器搭建WordPress个人博客使用的是宝塔面板一件搭建的方式&#xff0c;但是还是有一些麻烦&#xff0c;这里我们之间使用腾讯云提供的WordPress应用镜像搭建&#xff0c;感兴趣小伙伴可以参考以下&#xff01; …

嵌入式分享合集108

一、PLC串口通讯的基本知识 这几天弄plc都要神经了 尤其西门子的 太烦了 s7200cn s7200smart s1200 编程软件都不一样~~服 &#xff0c; 然后接线也很烦 好了 正题 电气作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口 什么是串口通讯&#xff1f; 串口通讯的使…

阿里强势推出Spring源码进阶宝典:思维脑图+视频教程+笔记文档

这不是准备跳槽了&#xff0c;所以最近摸鱼比较多一些&#xff0c;老大默许了&#xff0c;我觉得我老大还是很好的。也在网上看了一些资料&#xff0c;但是&#xff0c;我发现很多讲解注解的时候&#xff0c;对于一些可以直接点击源码查看的内容讲解的占多数&#xff0c;但是授…

ThreadPoolExecutor 线程池参数详解,执行流程

线程池的使用: public static void main(String[] args) {ThreadFactory sThreadFactory new ThreadFactory() {private final AtomicInteger mCount new AtomicInteger(1);Overridepublic Thread newThread(Runnable r) {int andIncrement mCount.getAndIncrement();return…

成熟的汽车衡称重软件,应具备哪些品质

每台汽车都配电子计算机、打印机各一台&#xff0c;并配相应称重管理软件。制造厂商开发的最新软件应免费及时为买方升级。自动称重系统管理软件选用国内成熟产品&#xff0c;至少在国内有10套以上稳定运行业绩&#xff0c;需配一套容量为2KVA&#xff0c;220V的UPS电源至少满足…

Guava LongMath类

Guava LongMath类 Guava LongMath类 LongMath提供long基础类型的实用方法。 类声明 以下是com.google.common.math.LongMath类的声明&#xff1a; GwtCompatible(emulatedtrue) public final class LongMath extends Object 方法 方法继承 这个类继承了以下类方法&#xf…