• 博主简介:想进大厂的打工人
  • 博主主页:@xyk:
  • 所属专栏: JavaEE初阶

目录

文章目录

一、选择1

二、选择2

二、[编程题]有假币

三、[编程题]因子个数


一、选择1

在使用锁保证线程安全时,可能会出现活跃度失败的情况,活跃度失败主要包括:

在使用锁保证现场安全时可能会出现 活跃度 失败的情况主要包括 饥饿、丢失信号、和活锁、死锁 等。【多线程除了死锁之外遇到最多的就是活跃度问题了】

饥饿 :指线程需要访问的资源 被永久拒绝 ,以至于不能再继续进行。解决饥饿问题需要平衡线程对资源的竞争,如线程的优先级、任务的权重、执行的周期等。

活锁 :指线程虽然没有被阻塞,但由于某种条件不满足,一直尝试重试却始终失败。解决活锁问题需要对 重试机制 引入一些随机性。例如如果检测到冲突,那么就暂停随机的一定时间进行重试,这会大大减少碰撞的可能性。

所以本题选D~~~

二、选择2

下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是

饥饿现象:是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。

D选项会产生饥饿现象

A、C选项,不满足短作业优先

选B选项,由于响应比=(作业执行时间十作业等待时间)/作业执行时间。

高响应比调度算法在等待时间相同的情况下,作业执行时间越短响应比越高,满足短任务优先。随着等待时间增加,响应比也会变大,执行机会就增大,所以不会产生饥饿现象

高响应比优先算法的思想,它结合了短作业优先+先来先服务+不冷落长作业等特点

二、[编程题]有假币

链接:有假币__牛客网
来源:牛客网

居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder 一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。

先枚举一些例子,找出其中规律:

  • 对于 1个硬币,称量 0次
  • 对于 2个硬币,称量 1次
  • 对于 3个硬币,称量 1次

对于 4个硬币,称量 2次,先分成(2,2,0),第一次称量前两份(2,2),如果重量不一样,再次求出判断另外2个硬币需要称量的次数。

对于 5个硬币,称量 2次,先分成(2,2,1),第一次称量前两份(2,2),如果重量不一样,再次判断另外1个硬币需要称量的次数。

对于 6个硬币,称量 2次,先分成(2,2,2),第一次称量前两份(2,2),如果重量不一样,再次判断求出另外2个硬币需要称量的次数。

对于 7个硬币,称量 2次,先分成(3,3,1),第一次称量前两份(3,3),如果重量不一样,再次判断求出另外3个硬币需要称量的次数。

通过上面分析可以看出,对于要称量的硬币,每次称量前分成3份,要求前两份的个数不小于第三份。如果前两份重量是一样,那么假币在第三份中,这样就除去了2/3的硬币。
如果前两份重量不一样,那么假币在重量轻的一份中,这样也除去了2/3的硬币。

其中有一个规则,我们每次把n分成是3堆,

 如果n % 3 == 0,分成 n/3、 n/3、 n/3三堆, 剩下 n/3

 如果n % 3 == 1,分成 n/3、 n/3、1 + (n/3)三堆,最坏剩下 1 + (n/3)

 如果n % 3 == 2,分成 n/3、 1 + (n/3)、1 + (n/3)三堆,最坏剩下 1 + (n/3)

注意是要用 最快的时间 最多需要多少次 求出假币!!!要考虑最坏的情况!!!

import java.util.Scanner;/*** @author xyk的电脑* @version 1.0* @description: TODO* @date 2023/4/21 16:30*/
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNextInt()) {int n = scanner.nextInt();if (n == 0) {return;} else if (n == 1) {System.out.println(0);} else if (n == 2 || n == 3) {System.out.println(1);} else {int count = 1;while (n > 3) {if (n % 3 == 0) {n /= 3;} else {n = n / 3 + 1;}count++;}System.out.println(count);}}}}

三、[编程题]因子个数

链接:因子个数__牛客网
来源:牛客网

一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。

本题就根据判断素数来找灵感,能被2整除的,count++,然后循环 n /= 2,这样就可以将所有的2除尽,使原数没有2的质因子~~

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNextInt()) {int n = in.nextInt();int count = 0;for (int i = 2; i <= Math.sqrt(n); i++) {if (n % i == 0) {while (n % i == 0) {n /= i;}count++;}}if (n != 1) {count++;}System.out.println(count);}}
}

(有假币,因子个数)笔试强训相关推荐

  1. 笔试强训错题总结(一)

    笔试强训错题总结 文章目录 笔试强训错题总结 选择题 编程题 连续最大和 不要二 最近公共祖先 最大连续的bit数 幸运的袋子 手套 选择题 以下程序的运行结果是() #include <std ...

  2. Java 笔试强训 牛客网选择编程题 01

    一.选择 1.单选 1.1.语法: public class Test3{public static void main(String[] args) {System.out.println(100 ...

  3. 笔试强训48天——day29

    文章目录 一. 单选 1. 某台微机安装的是 64 位操作系统," 64 位"指的是( ) 2. 对于Linux说法,下列说法正确的是() 3.以下哪个命令可以改变进程的优先级 4 ...

  4. 【nowcoder】笔试强训Day9

    目录 一.选择题 二.编程题 2.1另类加法 2.2走方格的方案数 一.选择题 1.下面程序的输出是:() String x="fmn"; x.toUpperCase(); Str ...

  5. 笔试强训选择题day11,12

    day11 内联函数 内联函数不能太长,有循环,有递归 重载函数 函数名一样,参数列表不一样 构造函数次数 数组看数组中有几个元素,指针数组只需要构造一次 ad是一个数组指针,该指针指向PAT类型的3 ...

  6. 笔试强训48天——day23

    文章目录 一. 单选 1.下面程序段的时间复杂度为() 2. 下列关于线性链表的叙述中,正确的是( ) 3. 下列描述的不是链表的优点是( ) 4. 向一个栈顶指针为h的带头结点的链栈中插入指针s所指 ...

  7. 笔试强训第三周编程题part01(年终奖,迷宫问题;微信红包,计算字符串的距离;小易的升级之路,找出字符串中第一个只出现一次的字符,洗牌)

    年终奖 OJ链接 此题是一道动态规划的问题 读题可知:只能从上往下和从左往右移动 由此需要前[i-1] [ j ]和[i][j-1]来比较大小来确实最优解. 其中有两种特殊情况,第一行和第一列 代码如 ...

  8. 【C++笔试强训】第三天

  9. 【笔试强训】Day_02

    目录 一.选择题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 二.编程题 1.排序子序列 2.倒置字符串 一.选择题 1. 使用printf函数打印一个double类型的数据,要求: ...

最新文章

  1. 【css】页面出现两个滚动条以及只有一半页面显示内容的解决方法
  2. 深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子
  3. 如何用atom编辑python_Atom运行Python的安装配置步骤和代码范例详解
  4. 「CTSC2018」假面
  5. 并发编程-10线程安全策略之不可变对象
  6. 【安全漏洞】朝鲜InkySquid APT组织是怎么利用浏览器漏洞感染受害者
  7. Linux系统入门之如何安装Linux系统
  8. 斯坦福CS231n项目实战(二):线性支持向量机SVM
  9. ControlStyles(枚举)
  10. Bootstrap3 带表格的面板
  11. Debugging with GDB (2) 调用GDB
  12. phpMyAdmin无法导入大的数据库文件的解决方法
  13. 1秒替换视频背景,阿里AI获CVPR 2020四项世界冠军
  14. How Do I? Videos for Devices
  15. mysql查询表记录总数sql_SQL Server-快速查询表中的记录总数
  16. 读《因果的真相》第四章摘抄笔记
  17. 睡眠是锁定计算机怎么设置密码,电脑休眠锁屏怎么设置
  18. 2021 ICPC网络赛I-A Busiest Computing Nodes(线段树)
  19. 北京理工大学 计算机学院 李侃,李侃(北京理工大学教授李侃)_百度百科
  20. 生成静态链接库和动态链接库

热门文章

  1. 17090601_CentOS7(64位)永中Office安装卸载
  2. Echarts 多仪表盘(汽车仪表盘,动态刷新)
  3. Pseudo-3D Residual Networks 算法笔记
  4. 7-3 Point3D类
  5. 关于多线程同步与互斥
  6. 21秋北京中医药大学《中药鉴定学B》平时作业6
  7. WMI Win32_OperatingSystem类
  8. ruby sinatra mysql_关于在 OpenShift 上部署的 Sinatra 使用 MySQL 的问题
  9. 【算法】入门--思维游戏
  10. 办理户籍推出9项便民措施 未成年人可随父在京入集体户