刷题笔记之十三(有假币、最难的问题、因子个数)
目录
1. 求正数数组的最小不可组成和
2. 有假币
3. 继承时先调用父类的构造方法;类中的成员变量的初始化操作都在构造方法时进行
4. 学会并理解装箱拆箱,注意new出来的也可以拆!!
5. getDeclaredMethods()是标识类或接口的声明成员(这个表示public private 包访问权限 protected)的集合,不包括继承的成员
6. 最难的问题
7. 因子个数
1. 求正数数组的最小不可组成和
题目链接:求正数数组的最小不可组成和_百度笔试题_牛客网 (nowcoder.com)
题目要求:

题目分析:

上代码
import java.util.*;
public class Solution {/*** 正数数组中的最小不可组成和* 输入:正数数组arr* 返回:正数数组中的最小不可组成和*/public int getFirstUnFormedNum(int[] arr) {//1.设置min和maxint min = Integer.MAX_VALUE;int max = 0;for (int i : arr) {min = Math.min(min,i);max += i;}boolean[] result = new boolean[max+1];//2.设置result初始状态result[0] = true;//3.两层循环遍历arr和resultfor (int i : arr) {for (int j = max; j >= i; j--) {result[j] = result[j-i] || result[j];}}//4.遍历result数组,找出第一个不为true的for (int i = min; i < result.length; i++) {if(!result[i]) {return i;}}//result都为true那就输出max+1return max+1;}
}
2. 有假币
题目链接:有假币__牛客网 (nowcoder.com)
题目要求:


题目分析:

上代码
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNext()) {int n = scan.nextInt();if(n == 0) break;int count = 0;while(n >= 2) {n = (int)Math.ceil((double)n/3);count++;}System.out.println(count);}}
}
3. 继承时先调用父类的构造方法;类中的成员变量的初始化操作都在构造方法时进行
以下程序执行的结果是: (C)

A. ZYXX B. ZYXY C. YXYZ D. XYZX
首先明确,继承时先调用父类的构造方法
类中的成员变量的初始化操作都在构造方法时进行
所以当main中new了Z后,先调用父类的构造方法,
而在父类构造方法中又实例化了Y,那就导致先执行Y的构造方法 第一个打印Y
下来X才执行自己的构造方法 第二个打印X
当父类构造执行完后,此时才到执行子类自己的了
Z自己先new了个Y,导致执行Y的构造方法, 第三个打印Y
然后Z才执行自己的构造方法 第四个打印Y
4. 学会并理解装箱拆箱,注意new出来的也可以拆!!
有如下4条语句: ( C )
Integer i01 = 59;
int i02 = 59;
Integer i03 = Integer.valueOf(59);
Integer i04 = new Integer(59);
以下输出结果为false的是:
A. System.out.println(i01 == i02);
B. System.out.println(i01 == i03);
C. System.out.println(i03 == i04);
D. System.out.println(i02 == i04);
Integer i01 = 59; 自动装箱
int i02 = 59;
Integer i03 = Integer.valueOf(59); 装箱
Integer i04 = new Integer(59); 在堆上new了个对象
A. 选项是i01 == i02 就是将i01自动拆箱,还原为整型 true
B. 是i01 == i03 都是Integer 所以为true
C. 是i03 == i04 因为i04是new出来的,就有新的地址,所以i03 和 i04 不等
D. 是i02 == i04 因为i04发生自动拆箱,i04就还原为int了,所以为true 选C
5. getDeclaredMethods()是标识类或接口的声明成员(这个表示public private 包访问权限 protected)的集合,不包括继承的成员
考虑下面这个简单的例子,让我们看看reflection是如何工作的

其中"c.gerDeclaredMethods"的作用是:
A. 取得类的公有方法对象
B. 取得类的所有公有方法名称
C. 取得类的所有方法对象
D. 以上选项都不正确

通过查看源码,可以看到
getMethods()是标识类或接口的所有公共成员的集合,包括继承的成员
而getDeclaredMethods()是标识类或接口的声明成员(这个表示public private 包访问权限 protected)的集合,不包括继承的成员
所以选D,都不正确
6. 最难的问题
题目链接:最难的问题__牛客网 (nowcoder.com)
题目要求:


题目分析:

上代码
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNext()) {String str = scan.nextLine();StringBuilder sb = new StringBuilder();for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if(c == ' ') {sb.append(" ");}else {sb.append((char)(c > 'E' ? c-5 : c+21));}}System.out.println(sb);}}
}
7. 因子个数
题目链接:因子个数__牛客网 (nowcoder.com)
题目要求:

题目分析:

上代码
// write your code here
import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNext()) {int n = scan.nextInt();int count = 0;for (int i = 2; i*i <= n; i++) {if(n%i == 0) {while(n%i == 0) {n /= i;}count++;}}//走到这里有两种情况,n=1 n != 1if(n != 1) count++;System.out.println(count);}}
}
相关文章:
刷题笔记之十三(有假币、最难的问题、因子个数)
目录 1. 求正数数组的最小不可组成和 2. 有假币 3. 继承时先调用父类的构造方法;类中的成员变量的初始化操作都在构造方法时进行 4. 学会并理解装箱拆箱,注意new出来的也可以拆!! 5. getDeclaredMethods()是标识类或接口的声明成员(这个表示public private 包访问权限 pro…...
5个代码技巧,加速你的Python
5个代码技巧,加速你的Python 人生苦短,快学Python! Python作为一种功能强大的编程语言,因其简单易学而受到很多初学者的青睐。它的应用领域又非常广泛:科学计算、游戏开发、爬虫、人工智能、自动化办公、Web应用开发…...
字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……
阎王易见,小鬼难缠。我一直相信这个世界上好人居多,但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。在这里,我只想告诫大家,offer一定要拿到自己的手里才是真的,口头offer都是不牢靠的,…...
[数据分析与可视化] Python绘制数据地图1-GeoPandas入门指北
本文主要介绍GeoPandas的基本使用方法,以绘制简单的地图。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoP…...
ChatGPT加强版GPT-4面世,打工人的方式将被颠覆
🔗 运行环境:chatGPT,GPT-4 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好&#…...
Python逆向及相关知识
今天第二次看见python字节码的逆向题,然后发现了一个介绍Python逆向的文章,所以把文章里的内容简单整理记录一下。 文章参考:https://www.cnblogs.com/blili/p/11799398.html Python运行原理: 一.什么是Python Python 是一种解…...
Python基础语法、注意点加实例全解
本篇文章我们讲解Python最基础语法,包含:数据类型、注释、变量、类型转换、命名规范、运算符、字符串拼接、字符串格式化、if条件判断、while循环、for循环、函数、读取文件、写入文件、异常捕获、包导入等。通过讲解语法注意事项实例代码详解࿰…...
ETH RPC搭建
配置选择先是看了aws、谷歌云、阿里云这个配置都要1-2wrmb一个月,太贵了问了很多朋友,打算用hetzner,50欧一个月足以我选的配置:64gb,2tb ssd开好后在邮箱收到信息链接后按以下步骤安装系统:https://0o0.me…...
南京邮电大学数据库第一次课后作业
1.单选题 (5分) (B)是存储在计算机内有结构的数据的集合。 (A)数据库系统 (B)数据库 (C)数据库管理系统 (D)数据结构 2.单选题 (5分) 数据库的特点之一是数据的共享,严格的讲,这里的…...
近期投简历、找日常实习的一些碎碎念(大二---测试岗)
嘿嘿嘿,我又回来了,相信不少兄弟已经发现我似乎已经断更了好久,哈哈,我是尝试去找实习,投简历面试去了。 先说一下背景。 目录 背景 求职进行中 简历 投递和沟通 收获和感受 背景 博主,大二软件工程…...
ThreadLocal的使用
1. ThreadLocal介绍 ThreadLocal顾名思义,就是线程的本地变量,只有当前线程可见,对其他线程来说是封闭且隔离的。每一个线程为自己本身创建ThreadLocal变量,只有当前线程可以访问,其他的线程不可以,从根源…...
Java ~ Reference【总结】
一 概述 简介 在JDK1.2之前,Java中引用的定义是十分传统的:如果引用类型的变量中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。在这种定义之下,一个对象只有被引用和没有被引用两种状态。 实际上…...
最快方法求最长上升子序列(LIS)+最长公共子序列(LCS)模板(C/C++)
目录 1 LIS算法(最长上升子序列) 1.1 简介 1.2 代码 1.3 相关解释 2 LCS算法(最长公共子序列) 2.1 简介 2.2 代码(动态规划,时间复杂度O(nlogn)) 2.3 特殊…...
012+limou+C语言深入知识——(4)“结构体”与“枚举体”与“联合体”
一、结构体 1、结构体基础 (1)结构体完全声明 struct tag {member-list; }variable-list;//描述一个人 struct people {char name[10];//人名int age;//年龄int idnumber;//身份证 };(2)结构体不完全声明(匿名结构体…...
Canvas百战成神-圆(1)
Canvas百战成神-圆 初始化容器 <canvas id"canvas"></canvas>canvas{border: 1px solid black; }让页面占满屏幕 *{margin: 0;padding: 0; } html,body{width: 100%;height: 100%;overflow: hidden; } ::-webkit-scrollbar{display: none; }初始化画笔…...
详解分库分表设计
详解分库分表设计 背景 在传统的单机数据库架构中,所有数据都存储在同一个数据库中,随着业务规模的不断扩大,数据量和并发量也会越来越大,这会给数据库的性能和可用性带来挑战。此外,当单机数据库的容量达到瓶颈时…...
动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)
动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。动态规划问题,五步走:状态定义&am…...
深入理解WebSocket协议
“ 一直以来对WebSocket仅停留在使用阶段,也没有深入理解其背后的原理。当看到 x x x was not upgraded to websocket,我是彻底蒙了,等我镇定下来,打开百度输入这行报错信息,随即看到的就是大家说的跨域,或…...
Vector的扩容机制
到需要扩容的时候,Vector会根据需要的大小,创建一个新数组,然后把旧数组的元素复制进新数组。 我们可以看到,扩容后,其实是一个新数组,内部元素的地址已经改变了。所以扩容之后,原先的迭代器会…...
22讲MySQL有哪些“饮鸩止渴”提高性能的方法
短连接风暴 是指数据库有很多链接之后只执行了几个语句就断开的客户端,然后我们知道数据库客户端和数据库每次连接不仅需要tcp的三次握手,而且还有mysql的鉴权操作都要占用很多服务器的资源。话虽如此但是如果连接的不多的话其实这点资源无所谓的。 但是…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
