- 博客(55)
- 收藏
- 关注
原创 Idea依赖爆红解决
Idea依赖爆红问题,确认依赖信息没问题,并且试了网上很多方法都无效的情况下,不妨更换maven的版本试一下,可能会有奇效。
2024-02-24 15:10:17 216 1
原创 【无标题】
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-04-07 21:58:01 252
原创 子类会不会继承父类的私有结构
在学习JAVASE继承章节的时候,想到了一个问题子类会不会继承父类的私有数据类型?个人的答案(仅代表个人讲解)是不会,但不会不代表子类中没有父类私有数据类型百度上的答案参差不齐,在查阅书籍之后,得到了一个答案。在《数据结构与算法分析-JAVA语言描述第二版 Frank M.Carrano著》中,P46写着,在任何其它类(包括派生类)的方法定义中,不能通过名称访问基类中私有类型域,尽管如此,派生类却确实继承了基类的数据域数据域很关键,可以理解为子类中还有一个父类对象验证:class P
2020-12-23 22:45:25 290
原创 算法与分析课程_回溯算法_实验五_子集和问题_JAVA
2.子集和问题。问题描述:给定集合S,S中有n个正整数,M是一个正整数。子集和问题判定是否存在S的一个子集S1,使得S1中各元素之和等于M。请设计回溯法求解子集和问题,如果问题无解,输出“No Solution”,问题有解,则输出满足子集S1中各元素的值。感觉写程序的耦合度有点高,代码也很冗长Main.class/** * @description 子集和问题 * @author binarySearchTrees * date 2020-12-17 22:00 * */import
2020-12-17 22:13:59 459
原创 算法与分析课程_动态规划算法_拼题网_习题2_0-1背包_C++
2 0-1背包给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行,每行有两个数据,分别表示第i(1≤i≤n)件物品的重量和价值。输出格式:输出装入背包中物品的最大总价值
2020-12-12 20:17:20 469
原创 算法与分析课程_动态规划算法_拼题网_习题1_最大子段和_C++
1 最大子段和给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。输入格式:输入有两行:第一行是n值(1<=n<=10000);第二行是n个整数。输出格式:输出最大子段和。输入样例:在这里给出一组输入。例如:6-2 11 -4 13 -5 -2输出样例:在这里给出相应的输出。例如:2代码:ma
2020-12-12 10:59:56 519
原创 算法与分析课程_回溯算法_拼题网_习题6_工作分配问题_C++
6 工作分配问题设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。输入格式:输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。输出格式:将计算出的最小总费用输出到屏幕。输入样例:在这里给出一组输入。例如:310 2 32 3 43 4 5输出样例:在这里给出相应的输出。例如:9代码:#include<iostre
2020-12-12 10:53:28 263
原创 算法与分析课程_回溯算法_拼题网_习题5_666_C++
5 666小明有一张m*n的好习惯记录卡,记录每一天的好习惯目标达成度(数字0-9表示)。某天目标完成达成,就在当天的格子里写上数字6,目标没有完全达成就写上一个小于6的数字(0-5),目标超额完成就写上一个大于6的数字(7-9)。记录卡上如果能找到一条长度为3的路径并且路径上的三个数字都大于等于6(这里的路径是指从某个格子出发,可以向左、右、上、下格子移动,并且不能重复经过一个格子),则小明就能得到一个“666”奖励。请你帮小明统计下他总共能得到多少“666”奖励。输入格式:输入第一行给出两个正整
2020-12-12 10:50:13 351
原创 算法与分析课程_回溯算法_拼题网_习题4_整数拆分_C++
4 整数拆分将一个正整数拆分成若干个正整数的和。输入格式:一个正整数n输出格式:若干行,每行一个等式(每个数或者等号间都有一个空格,第一个数前没有空格,最后一个数后面没有空格,数与数之间要求非降序排列)。最后一行给出解的总个数输入样例:在这里给出一组输入。例如:4输出样例:在这里给出相应的输出。例如:4 = 1 + 1 + 1 + 14 = 1 + 1 + 24 = 1 + 34 = 2 + 24代码:#include<iostream>#includ
2020-12-12 10:45:22 370 1
原创 算法与分析课程_回溯算法_拼题网_习题2_N皇后_C++
2 八皇后问题在国际象棋中,皇后是最厉害的棋子,可以横走、直走,还可以斜走。棋手马克斯·贝瑟尔 1848 年提出著名的八皇后问题:即在 8 × 8 的棋盘上摆放八个皇后,使其不能互相攻击 —— 即任意两个皇后都不能处于同一行、同一列或同一条斜线上。例如:现在我们把棋盘扩展到 n×n 的棋盘上摆放 n 个皇后,请问该怎么摆?请编写程序,输入正整数 n,输出全部摆法(棋盘格子空白处显示句点“.”,皇后处显示字母“Q”,每两个字符之间空一格)。输入格式正整数 n(n>0)输出格式若问题有解,
2020-12-12 10:41:22 893
原创 算法与分析课程_回溯算法_拼题网_习题1_最佳调度问题_C++
1 最佳调度问题假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。输入格式:输入数据的第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。输出格式:将计算出的完成全部任务的最早时间输出到屏幕。输入样例:在这里给出一组输入。例如:7 32 14 4 16 6 5
2020-12-01 21:45:05 406
原创 C++每日一练26-四数相加 II
四数相加 II给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入: A = [ 1, 2] B = [-2,-1] C = [-1, 2] D = [ 0, 2]输出: 2解释:
2020-11-27 22:33:11 438 1
原创 C++每日一练25-上升下降字符串
上升下降字符串给你一个字符串 s ,请你根据下面的算法重新构造字符串:1.从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。2.从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。3.重复步骤 2 ,直到你没法从 s 中选择字符。4.从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。5.从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。6.重复步骤 5 ,直到你没法从 s 中选择字符
2020-11-25 19:28:59 187
原创 C++ Lambda表达式
为什么需要lambda函数匿名函数是许多编程语言都支持的概念,有函数体,没有函数名。1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值。正因为有这样的需求,c++引入了lambda 函数,你可以在你的源码中内联一个lambda函数,这就使得创建快速的,一次性的函数变得简单了。声明Lambda表达式Lambda表达式完整的声明格式如下:[capture list] (params list) mutable exception-> return type { functio
2020-11-21 21:02:22 132
转载 JAVA lambda表达式
Java Lambda 表达式更多有关lambdaJava 8 新特性 Java 8 新特性Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。语法lambda 表达式的语法格式如下:(parameters) -> expression或(parameters) ->{ statements; }以下是lambda表达
2020-11-20 19:36:56 116
原创 C++每日一练24-移动零
移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes整体思路:利用stable_partition对指定区域内的数据按照特定条件进行分组代码:class Solution {public: void moveZeroes(vector&
2020-11-20 19:28:54 116
原创 C++每日一练23-加油站
加油站在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl
2020-11-18 21:02:29 322
原创 C++每日一练22-距离顺序排列矩阵单元格
距离顺序排列矩阵单元格给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2)之间的距离是曼哈顿距离,|r1 - r2| + |c1 - c2|。(你可以按任何满足此条件的顺序返回答案。)来源:力扣(Le
2020-11-18 20:57:04 217
原创 C++每日一练21-删除链表的倒数第N个节点
删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list整体思路:用堆栈储存节点,弹出倒数n个元素,找出倒数第n+1个元素,
2020-11-16 18:57:07 227
原创 算法与分析-实验二 枚举与递推
1.由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。核心代码:class Solution {public: vector<vector<int>> nums_combination(vector<int> nums) { vector<vector<int>> res; vector<int> ins(nums); while (next_permuta
2020-11-15 10:48:18 407
原创 算法与分析-实验一 算法设计基础
1. 分别用穷举法和欧几里德算法实现求两个整数的最大公约数,并比较算法的效率。核心代码:class Solution {public: int eaMethod(int a,int b) {//穷举法 int res=1; int times = a>b?a:b; for (int i = 1; i <=times;i++) { if (a % i == 0 && b % i == 0) res = i; } return res; }
2020-11-15 10:43:21 392
原创 C++每日一练20-数组的相对排序
数组的相对排序给你两个数组,arr1 和 arr2arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,9,6,7,19]来源:力扣(LeetCode)链接:ht
2020-11-14 11:25:52 368
原创 C++每日一练19-按奇偶排序数组 II
按奇偶排序数组 II给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-array-by-p
2020-11-12 19:56:25 480
转载 JavaScript在发送AJAX请求时,URL的域名地址是使用绝对地址还是相对地址
AjaxAjax(Asynchronous JavaScript and XML)是运用JavaScript和可扩展语言(XML)实现浏览器与服务器通信的一种技术。Ajax发送请求过程 在Ajax中,通过XMLHttpRequest对象实现与服务器端的通信。在不同浏览器中有不同的创建对象方法,但使用方法是相同的。 通过JavaScript建立的代码例子:var xmlHttpRequest=null; //声明XMLHttpRequest对象if(window.XMLHttpRequest){
2020-11-11 10:05:09 246
原创 算法与分析-枚举
拼题网/**1 穷举问题-搬砖*2 百鸡问题扩展-N鸡问题*3 输出全排列*4 梅森数*5 换硬币*/1 穷举问题-搬砖某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,
2020-11-11 09:56:42 273
原创 C++每日一练18-买卖股票的最佳时机 II
买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4] 输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第
2020-11-08 17:37:45 125
原创 C++每日一练17-根据数字二进制下 1 的数目排序
给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。示例 1:输入:arr = [0,1,2,3,4,5,6,7,8]输出:[0,1,2,4,8,3,5,6,7]解释:[0] 是唯一一个有 0 个 1 的数。 [1,2,4,8] 都有 1 个 1 。 [3,5,6] 有 2 个 1 。 [7] 有 3 个 1 。 按照 1 的个数排序得到的结果数组为 [0,1
2020-11-06 21:00:52 212
原创 C++每日一练16-插入区间
插入区间给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。整体思路:遍历每一个区间,满足条件的小区间的左边界作为插入后区间的左边界,然后判断插入区间的右边界将置为何值。利用穷举法,将会出现的各种情况都做出解决。代码很乱,而且用了非常多的选择语句,就是对应着每一种会出现的情况所设置.代码:class Solution {public: vector<vector<int&g
2020-11-04 16:53:11 276
原创 C++每日一练15-两个数组的交集
两个数组的交集给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two-arrays整体思路:建立两个哈希表,一个作为查询表,一个作为需要查询的表(该表会消除
2020-11-02 19:19:49 352
原创 C++每日一练14-宝石与石头
宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/p
2020-11-01 22:30:15 297
原创 C++每日一练13-岛屿的周长
岛屿的周长给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/isl
2020-10-30 18:48:35 209
原创 C++每日一练12-求根到叶子节点数字之和
求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers示例 1:示例 2:整体思路:dfs+递归遍历每一个叶节点(类似前序遍
2020-10-29 22:28:13 176
原创 软件工程课程学习小组项目——网上书店
一、需求分析的顺序图、状态图顺序图、状态图(1)订单简单状态图(2)管理员登录顺序图(3)会员添加图书到购物车顺序图二、UML建模——小组成员任务分配@大图书馆的牧羊人:需求分析@愤怒的阿木木:负责需求分析的用例图、活动图(用例图、活动图)@binarySearchTrees:负责需求分析的顺序图、状态图(顺序图、状态图)用例图:...
2020-10-28 22:31:57 2272
原创 C++每日一练11-独一无二的出现次数
独一无二的出现次数给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-number-of-occurrences/整体思路:哈希表(unordered_map)+容器(vector)(1)遍历arr,把元素和元素出现次数加入哈希表(unordered_map)中(2)遍历unordered_m
2020-10-28 22:09:15 336
转载 阅读《大象 Thinking in UML》学习笔记(一)——为什么需要UML?
阅读《大象 Thinking in UML》学习笔记(一)——为什么需要UML?一、UML的定义UML,即Unified Modeling Language又称统一建模语言或标准建模语言,是始于1997年一个OMG(对象管理组织)标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。UML是一种是面向对象软件的标准化建模语言,要弄清UML,首先得搞清楚面向对象和面向过程。二、面向对象和面向过程面向对象和面向过程是两种不同
2020-10-28 21:45:28 128
原创 Why Software Development Methodologies Suck
围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头,TDD真的能够促生出高品质软件,结对编程是代码评审的有效替代抑或只是增加了商议沟通代价,我想说,虽然缺乏证据判断这些论调的谬处,但有两条常用的法则能够帮助我们选择好的实践,同时,提升我们所提供软件的价值:划小开发周期以及提升反馈效率。Michael Feathers给出了以下观点:我认为,我们最终还是得倚重开发者的能力,这才是个更重要的考量因素,而非选择哪门
2020-10-28 21:41:13 88
原创 C++每日一练10-解数独
编写一个程序,通过填充空格来解决数独问题。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sudoku-solver一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 ‘.’ 表示。一个数独。暴力解法代码:class Solution {public: bool flag; bool is
2020-10-26 22:08:23 246
原创 内置对象session和httpsession对象是同一个东西吗
Session内置对象request内置对象中的属性只在当次请求中有效,如果要使属性在客户端跳转后仍然有效就要使用session内置对象了,session内置对象的类型是HTTPSession何为HttpSession通俗的理解应该是基于HTTP协议而产生的服务器级别的对象。其独立于客户端发的请求,并不是客户端每一次的请求便会创建此对象,也不是客户端关闭了就会被注销。故其依赖于HTTP服务器的运行,是独立于客户端的一种会话。目的也是保存公共的属性供页面间跳转的参数传递。jsp的Sessio
2020-10-26 21:53:44 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人