目录

选择题模块

1. 以下对继承的描述错误的是(A)

2. 在Java中,一个类(B)

3. 以下不是Object 类的方法的是(D)

4. Test.main() 函数执行后的输出是(D)

编程题模块

1.Fibonacci数列

2.合法括号序列判断

3.两种排序方法

4.求最小公倍数


选择题模块

1. 以下对继承的描述错误的是(A

A:一个子类只能继承一个父类(接口:一个类可以实现多个接口)

2. 在Java中,一个类(B

这道题和上面的题师出同门。

3. 以下不是Object 类的方法的是(D

这道题我们可以看一下Object的源码,可以看出hasNext不是Object里面的方法,而是迭代器Iterator的方法。

4. Test.main() 函数执行后的输出是(D)

public class Test {public static void main(String [] args){System.out.println(new B().getValue());}static class A{protected int value;public A(int v) {setValue(v);}public void setValue(int value){this.value = value;}public int getValue(){try{value++;return value;} catch(Exception e){System.out.println(e.toString());} finally {this.setValue(value);System.out.println(value);}return value;}}static class B extends A{public B() {super(5);setValue(getValue() - 3);}public void setValue(int value){super.setValue(2 * value);}}}

考查点:继承+方法重写

编程题模块

1.Fibonacci数列

题目描述

思路分析

代码实现

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNextInt()) {int N = scanner.nextInt();int[] arr = new int[47];arr[0] = 0;arr[1] = 1;for (int i = 2; i < 47; i++) {arr[i] = arr[i - 1] + arr[i - 2];}for (int i = 0; i < 47; i++) {if (N == arr[i]) {System.out.println(0);break;} else {min(N, arr);break;}}}}private static void min(int N, int[] arr) {int min = 0;for (int i = 2; i < 47; i++) {if (N > arr[i] && N < arr[i + 1]) {min = (N - arr[i]) < (arr[i + 1] - N) ? (N - arr[i]) : (arr[i + 1] - N);}}System.out.println(min);}}

上面这个是我的思路解出来的,看到了有大佬是这样做的,很强。

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {        public static void main(String[] args) {            Scanner scanner = new Scanner(System.in);            int n =scanner.nextInt();            int f1 = 0;            int f2 = 1;            while(f2<n){                int f3 = f2+f1;                f1=f2;                f2= f3;            }            //循环结束 f1<n<=f2            int min = Math.min(n-f1,f2-n);            System.out.println(min);//两行代码解决问题        }    }

2.合法括号序列判断

题目描述

思路分析

代码实现

import java.util.*;public class Parenthesis {public boolean chkParenthesis(String A, int n) {// Stack<Character> stack = new Stack<>();// char[] array = A.toCharArray();// for (int i = 0; i < array.length; i++) {//     if (array[i] == '(') {//         stack.push(array[i]);//     } else if (array[i] == ')') {//         if (stack.isEmpty()) {//             return false;//         } else if (stack.peek() == '(') {//             stack.pop();//         } else {//             return false;//         }//     }// }// return stack.isEmpty();if (n % 2 != 0) {return false;}Stack<Character> stack = new Stack<>();char[] array = A.toCharArray();for (int i = 0; i < array.length; i++) {if(array[i] == '('){stack.push(array[i]);}else  if (array[i] == ')'){if(stack.isEmpty()){return false;}else if(stack.peek() == '('){stack.pop();}else{return false;}}}return stack.isEmpty();}}

3.两种排序方法

题目描述

思路分析

代码实现

import java.util.Scanner;import java.io.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {    public static void main(String[] args) throws Exception {        //BufferReader 从字符流中读取文本并且缓存        BufferedReader bi = new BufferedReader(new InputStreamReader(System.in));        int n = Integer.parseInt(bi.readLine());        String[] str = new String[n];        for (int i = 0; i < n; i++) {            str[i] =  bi.readLine();        }        //判断        if (isSortLength(str) && isSortZiDian(str)) {            System.out.println("both");        } else if (isSortLength(str)) {            System.out.println("lengths");        } else if (isSortZiDian(str)) {            System.out.println("lexicographically");        } else {            System.out.println("none");        }    }    //字典序    public static boolean isSortZiDian(String[] str) {        for (int i = 0; i < str.length - 1; i++) {            //用当前字符串和后一个字符串比较,如果字典序大于后一个,说明排序混乱,直接返回false            if (str[i].compareTo(str[i + 1]) > 0) {                return false;            }        }        return true;    }    //长度序    public static boolean isSortLength(String[] str) {        for (int i = 0; i < str.length - 1; i++) {            //如果当前字符串长度大于后一个字符串长度,说明排序混乱,返回false            if (str[i].length() > str[i + 1].length()) {                return false;            }        }        return true;    }}//****重点//代码中使用compareTo方法//用来比较大小的   a.compareTo(b)  如果a比b大输出1 a=b输出0 a比b小输出-1

4.求最小公倍数

题目描述

思路分析

代码实现

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        while (scanner.hasNextInt()) {            int A = scanner.nextInt();            int B = scanner.nextInt();            System.out.println((A*B)/bigNum(A, B));        }    }    //最大公约数    private static int bigNum(int a, int b) {        if (a == b) {            return a;        }        if(a<b){            int tmp = a;            a=b;            b=tmp;        }        int r;        while((r=a%b)>0){            a=b;            b=r;        }        return b;        }}     

我自己还有一种解法,仅供大家参考>>>

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        while (scanner.hasNextInt()) {            int A = scanner.nextInt();            int B = scanner.nextInt();            System.out.println(smallNum(A, B));            //System.out.println((A*B)/bigNum(A, B));        }    }    private static int smallNum(int a, int b) {//最小公倍数        for (int i = 1; i < a * b; i++) {            if (i % a == 0 && i % b == 0) {                return i;            }        }        return a * b;    }}

刷题日记【第四篇】-笔试必刷题【Fibonacci数列+合法括号序列判断+两种排序方法+求最小公倍数】相关推荐

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

    刷题日记[第十三篇]-笔试必刷题[数根+星际密码+跳台阶扩展问题+快到碗里来] 1.方法区在JVM中也是一个非常重要的区域,它与堆一样,是被[线程共享]的区域. 下面有关JVM内存,说法错误的是?(c ...

  2. CTFshow刷题日记-MISC-图片篇(上)基础操作和信息附加

    ctfshow 图片篇引语 大部分题目仅涉及单一知识点,但可能有多种解法: 找到flag并不困难,关键是了解每一题背后的原理: 藏在哪?为什么可以这样藏?请多考虑这两个问题: misc脑图-misc之 ...

  3. 编程题——合法括号序列

    编程题--合法括号序列 题目描述: 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串. 示例1: 输入 ( ...

  4. C语言有符号 存储,【填空题】在C语言中,对于整型变量采用有符号数和_________数两种存储形式。...

    [填空题]在C语言中,对于整型变量采用有符号数和_________数两种存储形式. 更多相关问题 [单选] 肝内胆管结石和肝内钙化灶的超声鉴别要点是:①前者比后者大.②前者为强回声,后方声影明显:后者 ...

  5. 算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有

    算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化.比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮.问设计一道算法,使得所有 ...

  6. 数组的四种排序方法介绍

    最近在学习和练习一些算法方面的知识,发现在java中运用数组进行排序一般就四种方法:快速排序法.冒泡法.选择排序法.插入排序法.我们只要掌握这四种排序方法,基本上就能解决所有的排序问题.所以我接下来就 ...

  7. 【刷题】牛客网面试必刷TOP101

    文章目录 一.链表 1. 反转链表[简单] 2. 链表内指定区间反转[中等] 3. 链表中的节点每k个一组翻转[中等] 4. 合并两个排序的链表[简单] 5. 合并k个已排序的链表[困难] 6. 判断 ...

  8. 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1--赛题一

    阿里云天池大赛赛题解析(深度学习篇)–阅读笔记1 [x]表示遇到不懂的知识,将在[知识补充]给出具体讲解. 文章目录 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1 前言 赛题一 瑞金医院MMC人 ...

  9. 【牛客题霸】语法篇 - C++入门72题

    数字和基本语法 一些笔记:cin 注意,用户在输入数字时要用空格分隔数字. 这样 cin 才能知道每个数字的开始和结束位置. 在每个数字之间输入多少空格并不重要,需要注意的是,在最后一个数字输入之后, ...

最新文章

  1. java反射po转vo_三步走使用Dozer (Do,Po,Vo转换工具)
  2. mysql 游标异常_mysql中的游标和异常捕捉
  3. C语言之详解#ifdef等宏
  4. 熊孩子巨额充值打赏,互联网公司该不该退钱?
  5. 计算机音乐除了春天爱情和樱花,High4IU《除了春天爱情和樱花》新歌试听
  6. 学习笔记(21):Python网络编程并发编程-队列的使用
  7. InstallShield LaunchAppAndWait运行另一个程序并等待该程序终止。
  8. 基于阈值的损失函数_推荐 :常见损失函数和评价指标总结(附公式amp;代码)...
  9. python在电脑下载-Windows下下载及安装numpy、pandas及简单应用
  10. Nginx 架构原理
  11. Code::Blocks 17.12 FLTK 开发环境搭建
  12. ffmpeg转码文件输出rtsp流
  13. 2022-04微软漏洞通告
  14. Hadoop2.x Yarn作业提交(客户端)
  15. 做绿色数据中心基础设施建维服务认证有哪些好处?
  16. Could not build url for endpoint ‘http://127.0.0.1:5000/ ‘.
  17. JavaScript正则表达式验证手机号码
  18. vhs预设_如何在Linux中数字化VHS磁带
  19. 将微信公众号中的图文制成PPT的方法
  20. 物联网卡就是不能打电话的电话卡?

热门文章

  1. WIFI (热点)打开和关闭
  2. 爱莉安娜-格兰德推出全新个人香水R.E.M.
  3. PMP【成绩查询】与【申诉】
  4. mysql新闻分表,新闻数据库分表案例 - http://www.netkiller.cn - OSCHINA - 中文开源技术交流社区...
  5. 设置输入框和按钮对齐
  6. c语言fscanf读入字符,关于C语言读取文件和fscanf函数-c语言fscanf函数C语言编程语言...
  7. 双位置继电器HJWS-9800
  8. 短信平台API接口demo示例-Python/SMS/MultiSend
  9. IE下面双击checkbox反应延迟的问题
  10. 远程控制:Screens 4 Mac中文