自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用

从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果。 使用Spring Cache需要我们做两方面的事:n 声明某些

2021-07-29 18:20:18 464

原创 JavaScript无法设置Radio checked的问题

问题描述// 当选择“微信用户签到抽奖”时,触发$(’#weChatSignIn’).click(function(){$(’#wechat’).attr(‘checked’,‘checked’);});// 选择“导入名单抽奖”触发$(’#importNameList’).click(function(){$(’#import’).attr(‘checked’,‘checked’);});效果:无论怎么点击,都是第一个radio选中原因这里的主要原因是用attr()函数来设置元素的属

2021-07-21 17:14:23 695 1

原创 解决JQuery if-else判断失败的问题

问题描述从JQery返回的表格中拿当前行的某个字段openRes和type:var openRes = $(tasklist_jqgrid).jqGrid("getCell", jqgridSelectData[0], 'openRes');var type = $(tasklist_jqgrid).jqGrid("getCell", jqgridSelectData[0], 'type');if (openRes == true && type == 2){ $.b

2021-06-09 22:30:20 720 1

原创 LeetCode9. 回文数

题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例

2021-06-08 09:19:44 146

原创 解决Tomcat日志乱码问题

问题描述Tomcat日志中文乱码,试过了很多方法都没用。有说改server.xml的,有说改log4j.properties的不过我按这些改了都没生效。解决修改catalina.sh在Tomcat的/bin目录下,打开catalina.sh(用编辑器打开就可以)找到下面的代码:if [ -z "$LOGGING_MANAGER" ]; then JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassL

2021-05-08 12:04:08 402 2

原创 springboot启动报错Error creating bean with name xxx

问题描述springboot启动报错Error creating bean with name xxx,导致启动或者debug失败。解决方案1.在接口定义没有添加service注解或者在Controller没有添加@RestController注解添加service注解或@RestController即可2.没有install项目通过maven工具install或命令:mvn clean install -Dmaven.test.skip=true这个命令非常实用,能解决很多编译问题。.

2021-05-06 09:35:51 7542

原创 Git cherry-pick使用总结

cherry-pick直译,摘樱桃。这个就是可以选一个分支中一个或者几个commit来应用提交到另外一个分支,操作单元是commit 不是branch。附图如下:当前分支head 指向F,我可以选取另一个分支上的C commit,将其更改应用到我的分支,作为C‘ commit。现实场景在开发过程中,错误地用了test分支进行开发,结果导致test提交历史混乱,然后leader要重新删掉原先test,再拉一个test。那么问题来了,你在test分支上开发的东西不就丢了吗?**解决:**这个时候,可

2021-01-20 17:19:07 484

原创 牛客:判断给定的链表中是否有环

题目描述判断给定的链表中是否有环扩展:你能给出空间复杂度O(1)的解法么?思路我们可以想象两个人在跑步,一个快,一个慢。假如跑步的路线是直线(即没有环或圈),那么慢的永远追不上快的,两个人也永远不会相遇。假如跑步的路线有环或圈(可以想象在操场上跑步),那么快的肯定还能追上慢的(也就是套圈)。因此我们可以设置两个快慢指针,快指针遍历速度可以设为慢指针的两倍,那么两个指针在一开始是相等的,因为都指向头结点,遍历开始后,快指针如果还能与慢指针相等(也就是上面举例里的套圈),那么就说明链表有环。空间复

2020-11-01 12:21:58 357

原创 算法题:O(1)时间复杂度实现获取栈的最大值、最小值

问题描述实现O(1)获取最大最小值的栈问题:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的getMin函数,getMax函数。在该栈中,调用getMin、getMax、push及pop的时间复杂度都是O(1).思路定义一个minStack辅助栈每次记住入栈stack的最小值,即:将数据分别入栈stack和minStack,当入栈minStack的时候,与栈顶元素比较大小,若小于栈顶元素,则入栈成为新的栈顶元素,若大于栈顶元素,则入栈原先的栈顶元素。getMax的思路同上。代码im

2020-10-25 14:11:30 2688

原创 算法题:打印N以内所有质数

题目描述:打印出N以内所有质数思路质数的定义是它的因子只有1和它本身,比如2,3,5,7。。。因此我们在判断的时候可以根据遍历到的数是不是有除了1和它本身之外的因子。同时我们知道如果有因子(即如果是合数)那么,因子必定是小于这个数的,我们就排除掉。代码package Algorithm.Interview;import java.util.ArrayList;import java.util.List;public class primeNum { public List&lt

2020-10-24 21:49:25 748

原创 List<Object>转Map<String,Object>利用Java8新特性

问题项目中需要将查询到的List对象转换为Map<String,FlightCity>,暴力的方法就是for循环,但是这样太费时费力,而且容易出错。因此可以用到java8的lambda表达式常用方式代码如下:public Map<Long, String> getIdNameMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::ge

2020-09-23 19:24:06 8958

原创 MyBatis中的if标签问题:!=null and !=‘‘ 在Integer 0不适用

问题产生这是项目中遇到的一个问题,记录下来...先看mybatis映射xml文件里的一段内容:<sql id="Page_Where_Clause"> <trim prefix="where" prefixOverrides="and|or"><if test="item.extension.offlinePrint != null and item.extension.offlinePrint != ''"> a

2020-09-16 18:51:49 1191

原创 LeetCode264.丑数2

题目描述编写一个程序,找出第 n 个丑数。丑数就是质因数只包含 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。思路首先我们可以很容易想到递归求解,但是递归求解有一个问题,那就是存在大量重复运算,因此时间复杂度高,在LeetCode上超出时间限制。但是递归的思路可以用来求解LeetCode263.丑数并且在LeetCode上提交通过。如果用递

2020-08-21 13:59:16 168

原创 算法题:数组中两数之和是否等于目标数

描述给定一个升序数组s和一个目标数target,求解出数组中是否存在两数之和等于target例如:给定s:[1,2,3,4,5],target = 4返回:True给定s:[1,2,3,4,5],target = 100返回:False思路1.暴力求解双循环。。2.双指针设定一个首指针和尾指针,分别从头和尾遍历求和,当和大于target时,尾指针-1,当和大于target时,首指针+1。code def test(self,s,target): if not

2020-08-10 20:45:02 412

原创 LeetCode114. 二叉树展开为链表

题目描述给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树1/ 2 5/ \ 3 4 6将其展开为:123456思路思路很简单,按照例子给的,我们可以先前序访问二叉树节点并将其存到一个数组里,然后再将数组改成一个相当于是只含有右子树的二叉树代码# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, lef

2020-08-02 14:58:56 217

原创 LeetCode309.买卖股票的最佳时机含冷冻期

题目描述给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]思路求解最优解问题,动态规划时首先考虑的。因此我们要考虑状态转移方程,那么本题目

2020-07-31 11:44:54 232

原创 LeetCode213.打家劫舍2

题目描述你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。示例

2020-07-30 13:58:32 257

原创 LeetCode197.打家劫舍

题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7

2020-07-30 13:28:57 171

原创 LeetCode63.不同路径

题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下

2020-07-30 13:16:30 227

原创 Windows下Maven的安装配置及其在Intelij IDEA下的配置

Maven是什么?Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。Maven这个单词来自于意第绪语(犹太语),意为知识的积累,

2020-07-23 12:58:07 196

原创 Java的包装类以及装箱、拆箱

前言Java的包装类对应的是Java的基本数据类型,比如Integer对应int,因此先来回顾一下基本数据类型。Java的基本数据类型四种整数类型(byte、short、int、long):byte:8 位,用于表示最小数据单位,如文件中数据,-128~127short:16 位,很少用,-32768 ~ 32767int:32 位、最常用,-231-1~231 (21 亿)long:64 位、次常用两种浮点数类型(float、double):float:32 位,后缀 F 或 f,1

2020-07-02 18:07:34 3558

原创 HashMap底层实现原理

简介:HashMap在java集合中的位置如图所示:HashMap继承的是AbstractMap,而AbstractMap实现的是Map接口。HashMap的存储方式是<key,value>键值对的形式,其中,key是唯一的,value可以重复。基本使用方法:put,get方法: Map<String,Integer> m1 = new HashMap<>(); Map<String,Integer> m2 = new Ha

2020-06-28 21:51:39 317

原创 LeetCode1114.按续打印

题目描述:我们提供了一个类:public class Foo {public void one() { print(“one”); }public void two() { print(“two”); }public void three() { print(“three”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调用 two() 方法线程 C 将会调用 three() 方法请设计修改程序,以确保 two() 方法在 one(

2020-06-27 11:06:54 180

原创 Java设计模式之建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但

2020-06-08 19:09:10 205

原创 Java设计模式之单例模式

简介单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:

2020-06-08 17:36:22 237

原创 LeetCode844.比较含退格的字符串

题目描述给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 1:输入:S = “ab#c”, T = “ad#c”输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = “ab##”, T = “c#d#”输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = “a##c”, T = “#a#c”输出:true解释:S 和 T

2020-05-12 23:04:37 205

原创 LeetCode496.下一个更大元素

题目描述给定两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:对于num1中的数字4,你无法在第二个数组中找到下一个更大的

2020-05-12 21:29:13 292

原创 Java实现栈操作

栈栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。(百度百科)如图:其中,把数据写入称为入栈或压栈(push),把数据写出称为出栈(pop)。当栈为空,此时,栈顶=栈底Java实现package Stack;//先进后出p

2020-05-12 20:47:11 355

原创 Java链表基础

前记最近又开始重新看数据结构和算法,算是还账吧。看到链表这觉得问题很多,网上的参考有些博主说法也不尽相同,于是刷了几道题找找思路和感觉,用Java总结了一下,毕竟网上大多都是C的(指针这问题感觉好多人也没完全搞懂,包括我)。链表首先,链表的存在就是为了解决顺序表不能解决的问题,即顺序表在插入一个节点的时候,在插入点后方的节点都要往后移动一位,因此时间复杂度在最好的情况下就是在最后的节点后面插...

2020-05-04 20:50:37 625 4

原创 LeetCode21.合并两个有序链表

题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路1.递归先找出子问题,子问题可以化为:当L1[0]小于等L2[0]时,L = L1[0] + merge(L1[1:N],L2)否则, L ...

2020-05-04 09:51:20 213

原创 LeetCode19. 删除链表的倒数第N个节点

题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路1比较简单的思路就是先遍历一遍链表求出链表长度,然后再执行删除操作。...

2020-05-03 18:10:00 173 1

原创 腾讯面试题:利用快慢指针找出单链表中间值(Java)

一般思路:这道题如果按照一般的思路是:先遍历一次链表,记录住一共有多少个节点,然后,再次遍历找寻中点。时间复杂度: O(N) + O(N/2) = O(3/2 N)快慢指针利用快慢指针,思路如下:我们把一个链表看成一个跑道,假设a的速度是b的两倍,那么当a跑完全程后,b刚好跑一半,以此来达到找到中间节点的目的。时间复杂度: O(N/2)代码 public int search(Li...

2020-04-30 23:30:31 458

原创 C++中出现“undefined reference to xxx”错误记录(持续更新中~)

问题2020.4.6:问题描述:QT所报的这几个错误应该都是一致的,尝试了修改引用头文件路径也不行,说明不是路径错误。在相关的.pro文件里也有加相关的lib。搞了半天,还没解决。。。...

2020-04-06 17:57:35 311

原创 LeetCode面试题 10.01. 合并排序的数组

题目描述给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。初始化 A 和 B 的元素数量分别为 m 和 n。示例输入:A = [1,2,3,0,0,0], m = 3B = [2,5,6], n = 3输出:[1,2,2,3,5,6]说明:A.length == n + m思路1将B赋值到A的...

2020-03-10 20:47:51 261

原创 LeetCode451:根据字符出现频率排序

题目描述给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。...

2020-02-26 14:49:54 313

原创 LeetCode819:最常见的单词

题目描述给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例输入:paragraph = “Bob hit a ball, the hit BALL flew far after...

2020-02-20 15:54:01 224

原创 LeetCode678:有效的括号字符串

题目描述给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。左括号 ( 必须在对应的右括号之前 )。可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。一个空字符串也被视为有效字符串。示例 1:输入: “()”输出: ...

2020-02-14 21:01:53 1164

原创 LeetCode1025:除数博弈

题目描述爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参...

2020-02-11 13:43:50 192

原创 LeetCode700:二叉搜索树中的搜索

题目描述给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应...

2020-01-31 10:58:23 192

原创 CNN卷积核输出特征图大小的计算(长,宽,维度)和权值共享

概要CNN在进行卷积操作的时候,可以认为是输入图像(Input)与卷积核(Kernel)的对应加权求和。其中,卷积的时候,又可分为输出图像(Output)比输入图像缩小的卷积(VALID)即常规情况,与卷积后长宽不变的情况(SAME),还有一种情况是FULL模式,这种不经常用。维度就是图像的通道数,想象一个通道为3的RGB图像,维度=3。也可以把input想象成一个立方体,有长宽高属性,如下图...

2019-11-29 13:23:15 10345 2

breast_cancer.csv

二分类数据集,乳腺癌数据集,568条记录,30类特征,可以用分类算法如xgboost,svm等分类算法

2019-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除