java
文章平均质量分 75
张某某。paranoia
这个作者很懒,什么都没留下…
展开
-
【面试】集合框架(核心知识点+面试常考)
1.数组char [] cs = new char['','','']{};char [] cs1 = new char[s];cs1[0] = 'G'; 数组常见问题:数组索引越界异常1.1特点1.数组内存地址连续,使用之前必须先指定好数组长度2.可以通过下标访问的方式去访问——查询效率高3.增删 操作会给系统带来性能消耗——保证数据下标越界的问题,须要动态扩容2.链表分为单向链表与双向链表双向链表:每个节点都是由三部分组成:prev记录前一节点的地址;next记录后一节点原创 2021-09-18 21:59:39 · 256 阅读 · 0 评论 -
Leetcode#146. LRU 缓存机制 (HashMap+双向链表手写LRU)
146. LRU 缓存机制问题描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, int value)如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。...原创 2021-04-14 22:43:59 · 92 阅读 · 0 评论 -
NC1.大数加法
问题描述以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。(字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成)示例1输入"1","99"返回值"100"说明1+99=100 解题思路主要解题思路就是按位计算每一位的和以及相应的进位。然后使用StringBuilder来保存,最后如果每一位都计算完了,看一下是否还有进位,然后有的话加到结尾。最后调用StringBuilder的reverse方法反转一下整原创 2021-04-14 13:44:57 · 207 阅读 · 0 评论 -
NC105.二分查找(二分法)
二分查找问题描述题目描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1示例1输入[1,2,4,4,5],4返回值2说明从左到右,查找到第1个为4的,下标为2,返回2 示例2输入[1,2,4,4,5],3返回值-1示例3输入[1,1,1,1,1],1返回值.原创 2021-04-12 11:18:52 · 301 阅读 · 0 评论 -
NC61.两数之和(map及优化解法)
两数之和问题描述题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2输入[3,2,4],6返回值[2,3]解题思路有两种解法:第一种就是使用两原创 2021-04-12 10:51:50 · 638 阅读 · 0 评论 -
【面试】并发编程总结2(线程安全性及分析)
5 线程安全性及分析5.1 原子性、可见性、有序性5.1.1 线程安全【当多个线程访问某个对象时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。】()(1)线程安全问题的本质原子性 可见性 有序性(2)导致线程安全问题的根源高速缓存结构:CPU的计算速度远快于内存的读写速度,内存的读写速度要远远快于磁盘的读写速度。如果CPU执行一条指令的时候,.原创 2021-04-11 16:52:51 · 107 阅读 · 0 评论 -
【面试】并发编程总结1(生命周期+基本操作)
1 线程线程是大多数操作系统调度的基本单元。一个程序作为一个进程运行,程序运行过程中可能会创建多个线程。一个线程在一个时刻只能运行在一个CPU核心上。为什么使用多线程?①异步执行②利用多CPU资源实现真正意义上的并列执行线程的应用场景:①使用多线程实现文件下载②后台任务:如定时向大量(100W以上)的用户发送邮件③异步处理:记录日志④多步骤的任务处理:可根据步骤特征选用不同个数和特征的线程来协作处理,多任务的分割,由一个主线程分割给多个线程完成。多线程的本质是原创 2021-04-09 19:37:47 · 114 阅读 · 0 评论 -
备战实习记录之【回溯法】
1.回溯法解决的问题回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合 排列问题:N个数按一定规则全排列,有几种排列方式 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 棋盘问题:N皇后,解数独等等 其中:「组合是不强调元素顺序的,排列是强调元素顺序」。 即【组合无序,排列有序】2.如何理解回溯法「回溯法解决的问题都可以抽象为树形结构」,所有回溯法的问题都可以抽象为.原创 2021-04-08 21:38:25 · 161 阅读 · 0 评论 -
Leetcode#46. 全排列+#47. 全排列 II(回溯解法+去重算法)
46. 全排列问题描述给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路这道题是求一组数的所有全排列。首先全排列与组合相比,主要区别在于全排列长度必须是nums数组大小(即包含所有元素);其次全排列是有序的,而组合是无序的。(即对于全排列来说,【1,2】和【2,1】是两个不同的排列)...原创 2021-04-08 17:39:16 · 129 阅读 · 0 评论 -
Leecode#78. 子集+#90. 子集 II(回溯+解决重复元素不重复组合问题)
78. 子集问题描述给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示: 1 <= nums.length <= 10 -10 <= nums[...原创 2021-04-08 16:47:23 · 214 阅读 · 0 评论 -
Leetcode#77. 组合(回溯解法+剪枝优化)
77. 组合问题描述给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]解题思路解法一:一开始集合是 1,2,3,4, 从左向右取数,取过的数,不再重复取。第一次取1,集合变为2,3,4 ,因为k为2,我们只需要再取一个数就可以了,分别取2,3,4,得到集合[1,2] [1,3] [...转载 2021-04-08 12:09:23 · 274 阅读 · 0 评论 -
712. 两个字符串的最小ASCII删除和(动态规划)
712. 两个字符串的最小ASCII删除和题目描述:给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。示例 1:输入: s1 = "sea", s2 = "eat"输出: 231解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。在 "eat" 中删除 "t" 并将 116 加入总和。结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。示例 2:输入: s1 = "delete", s2原创 2021-04-02 10:08:13 · 170 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】6——二叉搜索树相关
6 二叉搜索树6.1 二叉搜索树定义二叉搜索树有数值,「二叉搜索树是一个有序树」。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树 6.2 二叉搜索树典型题目6.2.1700. 二叉搜索树中的搜索解法一:递归解法class Solution { public TreeNode searchBST(TreeNode root, int .原创 2021-03-31 08:57:52 · 68 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】5——二叉树的常见问题(递归+迭代 应用)
5.1 判断二叉树是否对称(101. 对称二叉树)5.1.1 解法一:迭代解法/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(原创 2021-03-30 14:35:38 · 254 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】4——翻转二叉树
4226. 翻转二叉树解法一:迭代实现前序遍历——栈/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, Tre.原创 2021-03-29 17:10:46 · 64 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】3——二叉树的层序遍历
3 二叉树的层序遍历3.1102. 二叉树的层序遍历3.2107. 二叉树的层序遍历 II3.3199. 二叉树的右视图3.4637. 二叉树的层平均值3.5429. N 叉树的层序遍历3 二叉树的层序遍历3.1102. 二叉树的层序遍历层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。需要借用一个辅助数据结构即队列来实现,「队列先进先出,符合一层一层遍历的逻辑,而是用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。」「而这种层序遍历方式就是图论...原创 2021-03-29 10:02:01 · 88 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】2——二叉树的前中后序遍历
1 使用栈实现二叉树的前中后序遍历1.1 前序遍历(144.二叉树的前序遍历)1.1.1 解题思路二叉树的前序遍历即先遍历根节点、再遍历左节点、最后遍历右节点。先把每一个根节点加入栈,弹出放入遍历集合中。 找到当前结点的右节点,入栈操作。 再找到当前结点的左节点,入栈操作。重复以上操作,直至栈为空,证明所有元素已被遍历完。注意:前序遍历的重点,就是先让右节点入栈、再让左节点入栈。这样基于栈 先进后出的特点,会实现出栈顺序为:根节点——左节点——右节点。1.1.2 J原创 2021-03-27 18:08:28 · 108 阅读 · 0 评论 -
备战实习记录之【树与二叉树篇】1
1 二叉树解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。1.1满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。1.2完全二叉树完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。1.3 二叉搜索树前面介绍的树都没有数值,而二叉搜索树有数值的了,「二叉.转载 2021-03-27 11:11:41 · 96 阅读 · 0 评论 -
Java核心之JVM
1 JVM最底层的即为JVM。JDK JRE 与 JVM。1.1 源码到类文件:.class文件 为16机制表示的文件。里面的内容包括了JDK格式、源码继承与接口的情况、属性与方法的数量等。1.2 类文件到JVM:类加载机制所谓类加载机制即:虚拟机把Class文件加载到内存并对数据进行校验,转换解析和初始化形成可以虚拟机直接使用的Java类型,即java.lang.Class1.2.1 装载(Load)查找和导入class文件(1)通过一个类的...原创 2021-03-18 21:43:07 · 224 阅读 · 1 评论 -
JAVA核心之泛型
1 泛型其本质为:参数化类型作用即指定能够存放的数据类型(统一类型防止出现 类型转换异常)1.1 泛型的擦除泛型只在编译阶段有效。编译之后JVM会采取去泛型化的措施。(通过反射的方式跳过编译步骤)泛型在运行阶段是没有效果的。1.2 泛型通配符1.2.1 无边界通配符<?> 即无边界通配符表示通用的类型public static void main(String[] args){ List<String> list1 = new原创 2021-03-18 16:04:28 · 83 阅读 · 0 评论 -
备战实习记录之【栈与队列篇】
五、栈与队列篇1.栈1.1.「栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。」所以STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)。1.2栈的内部结构,栈的底层实现可以是vector,deque,list 都是可以的, 主要就是数组和链表的底层实现。1.3「常用的SGI STL,如果没有指定底层实现的话,默认是以deque为缺省情况下栈的低层结构。」deque是一个..原创 2021-03-17 21:22:17 · 88 阅读 · 0 评论 -
Leetcode#347. 前 K 个高频元素 (Java解法+堆与堆排序)
问题描述给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一...原创 2021-03-17 17:47:17 · 288 阅读 · 0 评论 -
备战实习记录之堆与堆排序
1.堆堆是一种特殊的树,只要满足下面两个条件,它就是一个堆:(1)堆是一颗完全二叉树;(2)堆中某个节点的值总是不大于(或不小于)其父节点的值。其中,我们把根节点最大的堆叫做大顶堆,根节点最小的堆叫做小顶堆。2.堆详解2.1满二叉树满二叉树是指所有层都达到最大节点数的二叉树。比如,下面这颗树:2.2完全二叉树完全二叉树是指除了最后一层其它层都达到最大节点数,且最后一层节点都靠左排列。比如,下面这颗树:可见,其实满二叉树是一种特殊的完全二叉树。那么,使用什么转载 2021-03-17 17:45:51 · 123 阅读 · 0 评论 -
Leetcode#239. 滑动窗口最大值 (Java解法)
问题描述给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 ...原创 2021-03-16 20:31:42 · 450 阅读 · 0 评论 -
Leetcode#150. 逆波兰表达式求值 (Java解法+栈应用)
问题描述根据 逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: 该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入: ["4", "13", "5...原创 2021-03-16 16:50:24 · 95 阅读 · 0 评论 -
Leecode#232.用栈实现队列+Leecode#225.用队列实现栈
Leecode#232.用栈实现队列问题描述请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false说明: 你只能使用标准的栈操...原创 2021-03-15 17:29:20 · 99 阅读 · 0 评论 -
备战实习记录之【字符串篇】+【哈希表篇】
三、字符串篇1.字符串是若干字符组成的有限序列,也可以理解为是一个字符数组2.关于库函数使用「如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。」「如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。」3.字符串大小扩容「其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作。」4.「当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章」5.反转字符串原创 2021-03-15 10:51:15 · 139 阅读 · 2 评论 -
Leetcode#15. 三数之和 与 Leetcode# 18.四数之和 (Java解法+双指针解法)
目录Leetcode#15.三数之和问题描述:解题思路:Java代码:Leetcode#18.四数之和问题描述:解题思路:Java代码:Leetcode#15.三数之和问题描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:.原创 2021-03-14 22:26:38 · 154 阅读 · 0 评论 -
算法之字符串KMP算法(原理及源码)
1.KMP算法介绍:1.主要作用:「当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。」2.前缀表是什么?「前缀表是用来回溯的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。」对于字符串 aabaabaaf来说,它的前缀(即包括第一个元素但不包括最后一个元素的所有前缀子串。)有:[a,aa,aab,aaba,aabaa,aabaa,aabaab,aabaaba,aabaabaa]它的后缀(即包括最后一个元素.原创 2021-03-11 22:27:17 · 228 阅读 · 0 评论 -
Leecode#459. 重复的子字符串 (Java解法+KMP两种解法)
问题描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)来源:力扣(LeetCode原创 2021-03-11 22:23:26 · 194 阅读 · 0 评论 -
Leecode#28. 实现 strStr() (Java实现+KMP解法)
问题描述:解决思路:Java代码:class Solution { public int strStr(String haystack, String needle) { int n1 = haystack.length(); int n2 = needle.length(); if(n2 == 0) return 0; int [] next = new int [n2]; getNext(n..原创 2021-03-11 21:07:55 · 173 阅读 · 1 评论 -
(剑指Offer 58 - I.)Leetcode#151. 翻转字符串里的单词(Java解法+双指针解法)
问题描述:给定一个字符串,逐个翻转字符串中的每个单词。说明: 无空格字符构成一个 单词 。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1:输入:"the sky is blue"输出:"blue is sky the"示例 2:输入:" hello world! "输出:"world! hello"解释:输入字符串可以在前面或者后面包含多余的空格,...原创 2021-03-10 21:37:36 · 131 阅读 · 0 评论 -
备战实习记录之【数组篇】+【链表篇】
一、数组篇1.「数组是存放在连续内存空间上的相同类型数据的集合。」2.「数组下表都是从0开始的。」「数组内存空间的地址是连续的」3.正是「因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。」(「数组的元素是不能删的,只能覆盖。」)4.「二维数据在内存中不是3*4的连续地址空间,而是四条连续的地址空间组成!」5.二分法「只要看到面试题里给出的数组是有序数组,都可以想一想是否可以使用二分法。」同时题目还强调数组中无重复元素,..原创 2021-03-09 21:58:25 · 92 阅读 · 0 评论 -
Leecode#142. 环形链表 II (Java解法+环形链表解题思路)
问题描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶: 你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表...原创 2021-03-09 21:45:45 · 104 阅读 · 0 评论 -
剑指 Offer 24. 反转链表 (Leetcode#206)(Java解法——重要题)
问题描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)解题思路有两种方式:一是迭代,二是递归如上图所示,创建一个cur指针作为当前需要反转的指针。首先在未反转之前,保存之前的cur.next指针到cur(作为下一个需要反转的指针)。再将cu原创 2021-03-09 11:52:44 · 114 阅读 · 0 评论 -
Leetcode#707. 设计链表(Java解法:一道题考察链表五个常见操作)
题目描述:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能: get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。 addAtHead(val):在链表的第一个元素之前添加一个值为 va...原创 2021-03-07 21:28:25 · 214 阅读 · 0 评论 -
Leetcode#203. 移除链表元素(Java解法+虚拟头节点法)
题目描述:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5来源:力扣(LeetCode)解题思路:主要解题思路,删除链表中节点即及时更新前驱节点与当前节点即可。但有很多坑值得注意:需要注意的问题:1、考虑头结点head的val即为给定值的情况。并且应当用while(不能用if) 针对例如:[7,7,7,7] 7 .原创 2021-03-07 17:35:17 · 102 阅读 · 1 评论 -
JAVA常考面试题(备战实习篇)
第一章Java基础1、简述java程序的运行机制2、简述java语言的跨平台原理3、如何配置java的环境变量4、谈谈你对IDE的认识5、java中有哪些数据类型、其中基本数据类型有哪些、以及它们表示的范围是多少?6、谈谈你对java中的标识符的认识,它和关键字(保留字)有何区别?7、什么是原码、反码、补码?第二章、面向对象1、谈谈你对面向过程的编程和面向对象的编程的理解2、面向对象的特征是什么、谈谈你对它们的理解3、简述java中类的组成部分。4、简述jav原创 2021-03-05 22:08:41 · 153 阅读 · 4 评论 -
JAVA相关基础知识(备战实习篇)
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它..原创 2021-03-05 22:00:31 · 124 阅读 · 0 评论 -
蓝桥杯 16 基础练习 分解质因数
16.基础练习 分解质因数 /*问题描述求出区间[a,b]中所有整数的质因数分解。输入格式输入两个整数a,b。输出格式每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)*///!!!!!程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束...原创 2018-03-18 17:24:40 · 566 阅读 · 0 评论