- 博客(52)
- 收藏
- 关注
原创 java-B-3找字母
找字母方法一import java.util.Scanner;//1:无需package//2: 类名必须Main, 不可修改// 12 13 14public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 在此输入您的代码... int index = 0; char[] a = new char[2014]; for (int
2022-04-05 09:50:53 992 2
原创 java-A-6六角填数
六角填数分析这个题目不是很难,只需要全排列 + 判断是否相等即可。填空题不用考虑执行效率,当然也可以优化下面代码去除数组中的1、8、3这三个数。public class Main { static int ans; static int[] a = { 1, 2, 3 ,4,5,6,7,8,9,10,11,12}; public static void main(String[] args) { f(0); System.out.println(ans); } private
2022-04-04 20:05:55 731 1
原创 java-A-3神奇算式
神奇算式解析这个题目就是要枚举出所有的情况,枚举有两个种方案。①是用四个 for循环,每个循环表示一位数②是用两个 for循环,一个循环表示乘积一个循环表示一个因子这个题目重点就是 对枚举出来的所有情况进行检验看其是否满足题目的条件。import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Scanner;//1:
2022-04-04 18:43:13 1037
原创 java-A-2李白打酒
李白打酒解析这种题就要采用深搜的方式来解题public class Main { static int ans; public static void main(String[] args) { f(5, 9, 2); System.out.println(ans); } /** * * @param i 店的数目 * @param j 花的数目 * @param k 酒的数目 */ private static void f(int i, int j,
2022-04-04 17:22:58 704
原创 java-A-4循环节长度
循环节长度分析Loctor相当于是 List。要善于利用调试来观察代码的执行情况,做代码补全题没有必要把每个步骤都研究明白,要多举例验证补全是否正确。import java.util.*;public class Main{ public static int f(int n, int m) { n = n % m; Vector v = new Vector(); for(;;) {
2022-04-04 16:54:25 235
原创 java-B-10连号区间数
连号区间数认真看题。。。啊啊啊import java.util.Scanner;//1:无需package//2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //在此输入您的代码... int n = scan.nextInt(); int[] arr = new int
2022-04-04 16:53:45 197
原创 java-B-8幸运数
幸运数题目要求的幸运数处理规则不只是删除 2、3、7而是按照这个规律一值删除下去。import java.util.Scanner;//1:无需package//2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 在此输入您的代码... int m = scan.nextInt(); int
2022-04-04 16:53:02 652
原创 java-B-4黄金连分数
题目:黄金连分割方法一通过观察分析发现,可以将黄金数化为求斐波那契数列相邻两项的比值,那么到底求多少项呢?当然是越多越精确,n/(n+1)项,n越往上增加,这个比值的小数点后 101 位越是稳定。double无法表示 100 位小数,得需要 BigInteger和 BigDecimal。import java.math.BigDecimal;import java.math.BigInteger;import java.math.RoundingMode;import java.util
2022-04-03 18:15:11 324
原创 java-B-2马虎的算式
马虎的算式方法一:枚举法对 a、b、c、d、e这五个数字一 一进行枚举,将满足条件的组合数保存下来并输出即可。public class Main { public static void main(String[] args) { int count = 0; for (int a = 1; a < 10; a++) { for (int b = 1; b < 10; b++) { if(a!=b) for (int c = 1; c < 10; c++)
2022-04-03 17:53:02 603
原创 java-A-7错误票据
题目: 错误票据分析这道题思路很简单就是枚举排序,难点在于处理多行输入、排序和比较。输入时如果不注意读取多余的换行符就会报错java.lang.NumberFormatException排序时 集合排序要使用 Collections,数组排序使用 Arrays集合中的元素都是对象,比较相等时 不能使用==, 而要使用 equals,但如果两个对象相减判断差值是否为0时就可以使用==,这是需要特别注意的。import java.util.ArrayList;import java.util.
2022-04-03 17:10:20 471
原创 java-A-10大臣的旅费
大臣的旅费方法一如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。n -1 行,描述 T 国的高速路( T 国的高速路一定是 nn -1 条).从这两条信息可以看出这是一棵树,但是没说是几叉树,所以我们最好用图来表示。import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Main { private static int n; private s
2022-04-03 17:03:33 396
原创 java-A-9剪格子
剪格子方法一深搜 + 剪枝 + 回溯import java.util.Scanner;//1:无需package//2: 类名必须Main, 不可修改public class Main { static int[][] g; static int[][] v; private static int total; private static int m; private static int n; private static int ans = Integer.MAX_VA
2022-04-03 15:26:36 207
原创 java-A-8带分数
带分数方法一首先对这10个数字进行全排列,再对全排列后的数中加上+和/判断该数是否符合题意。必须要掌握全排列的方法(递归)。import java.util.Scanner;//1:无需package//2: 类名必须Main, 不可修改public class Main { static int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; static int ans; static int n; public static void main
2022-04-03 10:36:11 366
原创 java-A-6逆波兰表达式
题目 逆波兰表达式方法一首先大致浏览代码, 整体把握, v2 是要和 v1 进行运算的, 不要对 v1 的递归进行解读, 获取的第一个字符是 -号, 那么v2一定是获取 数字1的, 也就是 v1没有解析到的部分.遇到这种题要大胆猜想, 再用题目给的数据进行验证.import java.util.*;public class Main { static int[] evaluate(String x) { if (x.length() == 0) return new int[] {
2022-04-03 08:54:29 199
原创 java-A-4颠倒的价牌
题目 颠倒的价牌方法一这道题目暴力求解就可以了, 需要注意的是哪些 数字是可以颠倒的, 哪些数字是颠倒后值仍不变的, 再然后细心就可以了.import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { List<Price> list1 = new ArrayList<>(); List<Price&g
2022-04-03 08:07:47 199
原创 java-A-2振兴中华
题目:振兴中华方法一 :递归求解从题目可以观察出,从左上角开始除了最底层一行和最右侧一列其余格子都是有往下和往右两种选择的,此时采用递归求解比较方便。public class Main{ public static void main(String[] args) { System.out.println(func(0, 0)); } public static int func(int x, int y) { if(x==3 || y == 4) return 1;
2022-04-03 08:07:07 303
原创 java-A-1世纪末的星期
世纪末的星期方法一 : 暴力求解计算从 2000 年 到 9999 年每年的最后一天是星期几,只要满足是世纪末年且正好这天是星期天就打印输出并结束循环。public class Main { public static void main(String[] args) { int week = 5; for (int year = 2000; year < 10000; year++) { int days = 365; if((year%4== 0 &&
2022-04-03 08:06:07 275
原创 java-A-3-梅森素数
题目 梅森素数方法一这个题目就是考察大数的运算.import java.math.BigInteger;public class Main { public static void main(String[] args) { BigInteger b = BigInteger.valueOf(2).pow(11213).subtract(BigInteger.ONE); String str = b.toString(); String ans = str.substring(str.
2022-04-02 19:39:09 473
原创 常用字符串操作
字符串比较方法名称描述public boolean equals(Object anObject区分大小写的比较public boolean equalsIgnoreCase(String anotherString)不区分大小写的比较public int compareTo(String anotherString)比较两个字符串的大小关系String str1 = "hello";String str2 = "Hello";System.out.prin
2022-04-02 19:38:14 267
原创 小明的彩灯
题目 :小明的彩灯方法一这道题目要求在一段数上加上或减去相同的某个数 , 这就是典型的前缀和和分差问题. 由于频繁的输入使用 Scanner还会超时… 需要使用StreamTokenizer.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StreamTokenizer;public class Main { static
2022-04-02 15:50:02 146
原创 题目:倒置字符串
题目:倒置字符串方法一import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
2022-04-01 19:41:27 170
原创 排序子序列
题目:排序子序列方法一为了对数组内的所有数据都进行统一处理,定义数组 A 的长度时应该比接收的给定长度值大 1,因为由题干可知,所有的数据都比0大且0在第n个位置,所以不会对结果有影响。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System
2022-04-01 19:40:31 176
原创 BigInteger和BigDecimal的使用
1. BigInteger类的常用方法java.math.BigInteger类表示一个超大的整数,而且支持任意精度整数的四则运算(加减乘除)。常用方法方法含义public BigInteger(String val)将 BigInteger 的十进制字符串表示形式转换为 BigInteger。public BigInteger add(BigInteger val)返回其值为 (this + val) 的 BigInteger。public BigIn
2022-04-01 19:17:26 338
原创 删除公共字符
题目:删除公共字符方法一常规思路: 将第二个字符串中的字符都存到 map 当中,定义一个字符串,再遍历第一个字符串中的每个字符,判断其是否在第二个字符串当中,如果不存在就添加到定义的新字符串当中,最后输出新定义的字符串即可。import java.util.HashMap;import java.util.Scanner;public class Main { public static void main(String[] ar
2022-04-01 19:07:23 509
原创 组队竞赛~
题目:组队竞赛方法一只需注意数据范围 1<= a <= 10^9,这里就不能使用int型的变量来保存水平值,而是选用存储范围更大的long类型。import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Sc
2022-04-01 19:05:59 187
原创 货物摆放~
题目货物摆放方法一由于题目给的数据很大直接使用三个 for循环是算不出结果的。public class Main { public static void main(String[] args) { long n = 2021041820210418L; // 这里数组大小是多少都可以,只要不越界就好 long arr[] = new long[130]; int i = 0; // 记录数组下标 int count = 0; // 记录有多少种组合 for
2022-04-01 16:29:04 123
原创 java-AB-7-错误票据
题目: 错误票据分析这道题思路很简单就是枚举,难点在于处理多行输入。import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Scanner;public class Main{ public static void main(String[]
2022-04-01 10:50:10 147
转载 进程和线程的区别和联系
一、进程保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。二、线程线程,有时被称为轻量级进程(Lightweight Process,LWP),是操作系统调度(CPU调度)执行的最小单位。三、进程和线程的区别:为了更好的理解进程和线程之间的区别和联系,可以做一个简单的比喻,把进程比作火车,线程比作火车的车厢。线程是在进程下
2022-03-22 11:52:08 2380 1
原创 第8章 面向对象编程
1. 包包 (package) 是组织类的一种方式;使用包的主要目的是保证类的 唯一性;例如,你在代码中写了一个 Test 类,然后你的同事也可能写一个 Test 类,如果出现两个同名的类,就会冲突,导致代码不能编译通过。1.1 导入包中的类Java 中已经提供了很多现成的类供我们使用,例如public class Test { public static void main(String[] args) { java.util.Date date = new jav
2021-11-22 14:33:40 631 2
原创 第五章 类和对象
1. 类和类的实例化类就是一类对象的统称。对象就是这一类具体化的一个实例。简单的例子:我们做月饼的模子就是一个类,而通过这个模子可以做出月饼,那么在这个例子当中,类就是那个模子,而月饼就是那个对象,所以月饼就是一个实体。一个模子可以实例化无数个对象。总的来说:类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类。我们来看以下简单的声明一个类。基本语法// 创建类c
2021-11-04 19:50:07 229
原创 初识main方法、变量及类型
1 初始Java的main方法1.1 main方法示例public class Test{ public static void main(String[] args){ System.out.println("Hello,Java"); }}通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含
2021-10-17 12:01:31 911
转载 第7章 -程序的编译(预处理操作)+链接
目录1. 程序的翻译环境和执行环境2. 详解编译+链接2.1 翻译环境2.2 编译本身也分为几个阶段:2.3 运行环境1. 程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。2. 详解编译+链接2.1 翻译环境例如之前的通讯录代码:组成一个程序的每个源文件通过编译过程分别转换成目标代码(object code)。每个目标文件由链接器(linker)捆
2021-10-07 15:20:57 311 1
转载 第6章 文件操作
目录1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭4. 文件的顺序读写4.1 对比一组函数:5. 文件的随机读写5.1 fseek5.2 ftell5.3 rewind6. 文本文件和二进制文件7. 文件读取结束的判定7.1 被错误使用的feof8. 文件缓冲区1. 为什么使用文件我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序
2021-10-03 17:32:12 157 2
转载 第5章 动态内存管理
目录1. 为什么存在动态内存分配2. 动态内存函数的介绍2.1 [malloc](http://www.cplusplus.com/reference/cstdlib/malloc/?kw=malloc) 和 [free](http://www.cplusplus.com/reference/cstdlib/free/)2.2 [calloc](http://www.cplusplus.com/reference/cstdlib/calloc/)2.3 [realloc](http://www.cplusp
2021-10-01 16:00:18 112 1
转载 第4章 自定义类型:结构体,枚举,联合
目录1. 结构体1.1 结构体的基础知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐数1.8 结构体传参2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用3. 枚举3.1 枚举类型的定义3.2 枚举的优点3.3 枚举的使用4. 联合(共用体)4.1 联合类型的定义4.2 联合的特点4.3 联合大小的计算5. 练习4.3 联合大小的计算5. 练习1. 结构体1.1 结构体的基础
2021-09-29 20:10:29 563
原创 Kettle连接Mysql报错:Driver class org.gjt.mm.mysql.Driver could not be found
今天使用kettle连接mysql时,报错,这时知道它是没有需要的connector包,就在Mysql官网下载了对应我Mysql-8.0.22的connector-8.22的jar包,并将其放在如下图所示的目录中:之后又重新进行了Mysql数据库的连接。发现仍然 连接失败。这时候对比了网上大家的解决方法,发现我所下载的connector包没有含有-bin的jar包,这时我又下载了mysql5的 connector包,将其内的两个jar包都放在如下图所示的目录中:之后又重新进行了.
2021-09-26 18:41:51 8550 2
转载 第3 章 字符串和内存函数的介绍
目录字符串函数1. strlen1.1 函数介绍1.2 模拟实现2. strcpy2.1 函数介绍2.2 模拟实现3. strcat3.1 函数介绍3.2 模拟实现4. strcmp4.1 函数介绍4.2 模拟实现5. strncpy6. strncat7. strncmp8. strstr8.1 函数介绍8.2 模拟实现9. strtok9.1 函数介绍10. strerror内存操作函数1. memcpy -- 内存拷贝1.2 模拟实现2. memmove2.1 函数介绍2.2 模拟实现3. memc
2021-09-25 13:05:38 104
原创 青蛙跳台阶问题
目录青蛙跳台阶:分析:代码:变态跳台阶分析:代码:青蛙跳台阶:一只青蛙一次可以跳 1 级台阶,也可以跳 2 级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。示例1:输入 : n = 0输出 : 1示例2 :输入 : n = 2输出 : 2示例3 :输入 : n = 7输出 : 21分析:如果只有 1 级台阶,就只有 1 种跳法;如果有 2 级台阶,就有 2 种跳法;如果有 n 级台阶(n>2),这时我们把跳法设为 函数f(n)。跳到第 n 节
2021-09-15 18:53:46 158 11
转载 第3章 函数
目录1. 函数是什么?2. C语言中函数的分类2.1 库函数2.2 自定义函数3. 函数的参数4. 函数的调用5. 函数的嵌套调用和链式访问5.1 嵌套调用5.2 链式访问6. 函数的声明和调用7. 递归7.1 什么是递归?7.2 递归的两个必要条件7.3 递归与迭代1. 函数是什么?维基百科中对函数的定义:子程序在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method,subprogram, callable uni
2021-09-13 19:45:47 223 4
原创 汉诺塔问题
汉诺塔问题,是心理学实验研究常用的任务之一。该问题的主要材料包括三根高度相同的柱子和一些大小及颜色不同的圆盘,三根柱子分别为起始柱A、辅助柱B及目标柱C。操作规则:每次只能移动一个盘子,并且在移动过程中三根柱上都始终保持大盘在下,小盘在上、操作过程中盘子可以置于A、B、C任一杆上。解题步骤:(分为两步)第一步: 把 n-1 个圆盘 从 柱1 移动到 柱2; 把第 n 个圆盘 从 柱1 移动到 柱3;第二步: 把 n-1 个圆盘从 柱2 移动到 柱3 ;原理要解
2021-09-13 19:40:57 312 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人