java
文章平均质量分 68
云澈丿
小白在线指教
展开
-
Spring Data JPA与JDBC的区别和基本用法
JPA(Java Persistence API)用于对象持久化的 API,是 Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层JDBC 也是一种规范和接口,不过 JDBC 是面向 SQL 的,使用起来比较繁琐。所以就有了 ORM 框架,建立了 Java 对象与数据库表之间的映射关系,可以通过直接操作对象来实现持久化,简化了操作的繁杂度。转载 2020-12-08 17:01:42 · 2998 阅读 · 0 评论 -
java数据库中mybatis的mapper关系
关于数据库中mybatis的mapper关系原文地址这里说明一下关于数据库,数据库对应实体各种复杂情况关系映射。最基本的实体:比如:(这里面不涉及复杂map,list,set等)@Data@Getter@Setter@Componentpublic class TestUser {private Integer testUserNo;private String testUserName;private String testUserSex;}数据库:resultM转载 2020-12-08 16:59:17 · 1229 阅读 · 0 评论 -
Java序列化的高级认识
包括父类序列化的问题、静态变量问题、transient 关键字的影响、序列化 ID 问题转载 2020-11-25 21:10:39 · 115 阅读 · 0 评论 -
LeetCode股票问题系列通解
每个问题都有优质的题解,但是大多数题解没有建立起这些问题之间的联系,也没有给出股票问题系列的通解。这篇文章给出适用于全部股票问题的通解,以及对于每个特定问题的特解。转载 2020-11-09 14:29:10 · 303 阅读 · 0 评论 -
史上最全的遍历二叉树详解
记录简单的二叉树遍历算法(避免忘记)原创 2020-11-08 17:00:57 · 251 阅读 · 0 评论 -
DFS_面试题_08.10_颜色填充
编写函数,实现许多图片编辑软件都支持的「颜色填充」功能。待填充的图像用二维数组 image 表示,元素为初始颜色值。初始坐标点的横坐标为 sr 纵坐标为 sc。需要填充的新颜色为 newColor 。「周围区域」是指颜色相同且在上、下、左、右四个方向上存在相连情况的若干元素。请用新颜色填充初始坐标点的周围区域,并返回填充后的图像。原创 2020-10-23 15:37:00 · 143 阅读 · 0 评论 -
DFS-BFS_leetcode.637.二叉树的层平均值
给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。原创 2020-10-23 15:35:04 · 144 阅读 · 0 评论 -
记录常见的链表简单问题的解决方法
一般来讲,链表中只会有一个结点的指针域为空,该结点为尾结点,其他结点的指针域都会存储一个结点的内存地址。链表中也只会有一个结点的内存地址没有存储在其他结点的指针域,该结点称为头结点。链表的存储方式使得它可以高效的在指定位置插入与删除,时间复杂度均为 O(1)。原创 2020-10-23 15:32:32 · 362 阅读 · 0 评论 -
脑筋急转弯_leetcode.1227.飞机座位分配概率
有 n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随便选了一个座位坐下。剩下的乘客将会:如果他们自己的座位还空着,就坐到自己的座位上,当他们自己的座位被占用时,随机选择其他座位第 n 位乘客坐在自己的座位上的概率是多少?原创 2020-10-22 10:19:00 · 939 阅读 · 0 评论 -
脑筋急转弯_leetcode.1033、521、292.简单动脑
三枚石子放置在数轴上,位置分别为 a,b,c。每一回合,我们假设这三枚石子当前分别位于位置 x, y, z 且 x < y < z。从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动到某一整数位置 k 处,其中 x < k < z 且 k != y。当你无法进行任何移动时,即,这些石子的位置连续时,游戏结束。要使游戏结束,你可以执行的最小和最大移动次数分别是多少? 以长度为 2 的数组形式返回答案:answer = [minimum_moves, maximum_moves]原创 2020-10-19 22:05:17 · 322 阅读 · 0 评论 -
回溯_leetcode.77.组合
给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。原创 2020-09-12 20:22:15 · 151 阅读 · 0 评论 -
排序_leetcode.347.前K个高频元素
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。原创 2020-09-11 21:58:53 · 207 阅读 · 0 评论 -
回溯_leetcode.60.第k个排列
????题目????给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, k = 3输出: "213"示例 2:输入: n = 4, k = 9输出: "2314"????分析原创 2020-09-10 14:32:33 · 222 阅读 · 0 评论 -
状态机_剑指offer.20_表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、"5e2"、"-123"、"3.1416"、"-1E-16"、"0123"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。原创 2020-09-10 14:31:10 · 164 阅读 · 0 评论 -
动态规划_leetcode.486.预测赢家
给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。原创 2020-09-03 10:21:05 · 475 阅读 · 1 评论 -
KMP_leetcode.214.最短回文串
给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。原创 2020-09-02 09:39:40 · 459 阅读 · 0 评论 -
回溯_leetcode.17.电话号码的字母组合
给定一个仅包含数字 `2-9` 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。原创 2020-09-01 16:23:00 · 232 阅读 · 0 评论 -
KMP_leetcode.459.重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。原创 2020-08-26 10:08:21 · 548 阅读 · 0 评论 -
字符串(马拉车)_leetcode.647.回文子串
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。原创 2020-08-25 09:40:24 · 215 阅读 · 0 评论 -
模拟_leetcode.43_字符串相乘
????题目给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使用任何标准库的大数类原创 2020-08-24 10:02:01 · 188 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_分治与动态规划2
用串的形式表示大数的乘法。即求类似:X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如图所示)现需要把这些格子刷上保护漆。你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!)比如:a d b c e f 就是合格的刷漆顺序。c e f d a b 是另一种合适的方案。如图,组成环形的格子需要涂3种颜色。它们的编号分别是1~14相邻的格子不能用相同的颜色。涂色方案的数目是:24576当格子数目为原创 2020-08-21 21:11:14 · 176 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_分治与动态规划
已知有序的序列,比如:2,3,3,5,9,9,9,12,12,13,15,22,22,22,22,23,25,25,91,95数组中整数有正有负求一连续子段,使得和最大化例如:用串的形式表示大数的乘法。即求类似:“23234845847839461464158174814792” * “6457847285617487843234535”要求结果返回一个串。原创 2020-08-21 16:44:28 · 193 阅读 · 0 评论 -
写树算法的套路框架
二叉树算法的设计的总路线:明确一个节点要做的事情,然后剩下的事抛给框架。原创 2020-08-21 09:34:00 · 225 阅读 · 0 评论 -
递归_leetcode.109.有序链表转换二叉搜索树
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。原创 2020-08-20 14:59:22 · 222 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_进制(补)+博弈问题
Excel单元格的地址表示很有趣,它使用字母来表示列号。。古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。。有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次。。大数学家高斯有个好习惯:无论如何都要记日记。俗话说:十赌九输。因为大多数赌局的背后都藏有阴谋。1949年的国庆节(10月1日)是星期六。今年(2012)的。。这是一个纵横火柴棒游戏。今盒里有n个小球,A、B两人轮流从盒中取球。K大师在纸上画了一行n个格子,要小明和他交替往其原创 2020-08-19 21:45:14 · 659 阅读 · 0 评论 -
DFS_leetcode.130.被围绕的区域
]给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。原创 2020-08-18 10:24:32 · 295 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_进制与整除
????地产大亨Q先生临终的遗愿是:拿出100万元给X社区的居民抽奖,..用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。如果只有5个砝码,重量分别是...有3堆硬币,分别是3,4,5二人轮流取硬币。每人每次只能从某一堆上取任意数量。不能弃权。如果是n个数呢?比如1000个数的最小公倍数..从昏迷中醒来,小明发现自己被关在X星球的废矿车里。求 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + … + 1/100第1个素数是2,第2个素数是3,…求第100002(十万零二原创 2020-08-13 12:29:48 · 325 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_递归2
1、某城市经常在高峰时段发生交通拥堵,因此市政府决定采取管制措施:在高峰时段2、小明最近喜欢搭数字积木。一共有10块积木,每个积木上有一个数字,0~9。3、X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。4、A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌5、已知不同字母构成的串,求它的全排列6、有重复的字母中求取出m个所有组合 例如: “AAABBCCCCCCDD” 中取3个字母的所有组合原创 2020-08-11 10:55:58 · 260 阅读 · 0 评论 -
2020_java蓝桥_暑假训练_递归
1、小明刚刚看完电影《第39级台阶》。离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级。。2、X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中。。。3、匪警请拨110,即使手机欠费也可拨通!为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!4、公园票价为5角。假设每位游客只持有两种币值的货币:5角、1元。5、小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子原创 2020-08-09 16:19:23 · 316 阅读 · 1 评论 -
动态规划_leetcode.1504.统计全1子矩形
给你一个只包含 0 和 1 的 rows * columns 矩阵 mat ,请你返回有多少个 子矩形 的元素全部都是 1 。原创 2020-08-06 11:25:22 · 503 阅读 · 0 评论 -
动态规划_leetcode.337.打家劫舍3
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。原创 2020-08-05 15:18:09 · 136 阅读 · 0 评论 -
拓扑广度_leetcode.207_课程表
你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?原创 2020-08-04 15:29:48 · 157 阅读 · 0 评论 -
模拟_leetcode.415_字符串相加
题目给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。方法:模拟横竖加减法算法流程利用双指针i, j分别指向num1和num2 的末尾,模拟人工加法计算进位:计算carry = temp // 2, 代表当前位相加是否需要进位添加当前位:计原创 2020-08-03 10:07:50 · 173 阅读 · 0 评论 -
递归_leetcode.114.二叉树展开为链表
二叉树展开为链表题目分析解法一:暴力(常规思路)解法二: 深度递归搜索解法三:先序遍历递归解法四: 先序遍历迭代题目给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为1 \ 2 \ 3 \ 4 \ 5 \ 6分析本题需要将二叉树转化为列表,对于二叉树的题目,无非就以下几种解题思路:原创 2020-08-02 11:26:23 · 375 阅读 · 0 评论 -
分治_面试题.08.03_魔术索引
题目魔术索引。 在数组A[0…n-1]中,有所谓的魔术索引,满足条件A[i] = i。给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。示例1:输入:nums = [0, 2, 3, 4, 5]输出:0说明: 0下标的元素为0示例2:输入:nums = [1, 1, 1]输出:1提示:nums长度在[1, 1000000]之间方法:暴力剪枝算法流程不做详细介绍,简单的代码一看就懂原创 2020-07-31 10:53:13 · 201 阅读 · 0 评论 -
leetcode算法刷题集纪录篇(持续更新)
力扣(LeetCode)是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌。源自美国硅谷,力扣为全球程序员提供了专业的IT 技术职业化提升平台,有效帮助程序员实现快速进步和长期成长。 此外,力扣(LeetCode)致力于解决程序员技术评估、培训、职业匹配的痛点,逐步引领互联网技术求职和招聘迈向专业化原创 2020-07-29 17:15:13 · 410 阅读 · 0 评论 -
递归_leetcode.151-剑指offer.07_重建二叉树(从先序和中序)
题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000解法一:递归思路对于任意一颗树而言,前序遍历的形式总是[ 根节点, [左子树的前序遍历结果],原创 2020-07-29 14:31:06 · 150 阅读 · 0 评论 -
滑窗_leetcode.713.乘积小于K的子数组
题目Your are given an array of positive integers nums.Count and print the number of (contiguous) subarrays where the product of all the elements in the subarray is less than k.Example 1:Input: nums = [10, 5, 2, 6], k = 100Output: 8Explanation: The 8 su原创 2020-07-28 11:36:43 · 148 阅读 · 0 评论 -
二分_剑指offer.11_旋转数组的最小数字
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0分析思路如下图所示,寻找旋转数组的最小元素即为寻找 右排序数组 的首个元素 numbers[x] ,称 x 为 旋转点 。排序数组的查找问题首先考虑使用 二分法 解原创 2020-07-25 11:01:57 · 104 阅读 · 0 评论 -
动态规划_leetcode.64.最小路径和
题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。分析由于路径的方向只能是向下或向右,因此网格的第一行的每个元素只能从左上角元素开始向右移动到达,网格的第一列的每个元素只能从左上角元素开始向下移动到达,此时的路径是唯一的,因此每个元素对应的最小路径和即为对应的路径原创 2020-07-24 10:09:33 · 340 阅读 · 0 评论