- 博客(36)
- 收藏
- 关注
原创 37、解数独
编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。一个数独。答案被标成红色。方法一:递归思路:【1】先初始化将行,列,九宫格的数存入set中。【2】遍历数组,找到一...
2019-05-13 09:05:45
186
原创 36、有效的数独
判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次数独部分空格内已填入了数字,空白格用'.'表示。方法一:一遍遍历思路:时间复杂度O(1),空间复杂度O(1)【1】对9*9的数组进行一遍遍历,对行遍...
2019-05-13 09:01:08
220
原创 34、在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4]方法一:递归法思路:与33的思想类似【1】找到中间结点并与target...
2019-05-05 09:16:22
210
原创 33、 搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。输入: nums = [4,5,6,7,0,1,2], targe...
2019-05-05 09:14:06
155
原创 32、最长有效括号
给定一个只包含'('和')'的字符串,找出最长的包含有效括号的子串的长度。输入: "(()"输出: 2解释: 最长有效括号子串为 "()"输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"方法一: 递归法思路:使用递归超出内存限制【1】对于字符串str从左往右数,记录左括号'('和右括号')'的数量。【2】若出现右括号数>左括...
2019-05-05 09:10:13
230
转载 31、下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3→1,3,23,2,1→1,2,31,1,5→1,5,1这道题写了很久没有思路,所以看了官方给出的题解...
2019-05-05 09:03:48
105
原创 26、 删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。 你不需要考虑数组中超出新长度后面的元...
2019-05-05 08:59:27
246
原创 25、k个一组翻转链表
给出一个链表,每k个节点一组进行翻转,并返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么将最后剩余节点保持原有顺序。给定这个链表:1->2->3->4->5当k= 2 时,应当返回:2->1->4->3->5当k= 3 时,应当返回:3->2->1->...
2019-05-05 08:55:30
124
原创 24、两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。给定 1->2->3->4, 你应该返回 2->1->4->3.方法一:递归法(动态规划)思路:【1】对于链表pre->p->other交换结点【2】变成p->pre->other【3】再对other进行翻转。若other为NULL说明不用再翻转。...
2019-05-05 08:52:12
130
原创 23、合并K个排序链表
合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。输入: [ 1->4->5, 1->3->4, 2->6 ]输出: 1->1->2->3->4->4->5->6方法一:归并法思想:借助归并排序的思想,对两两链表进行归并。结束条件为链表数量为1。//合并两条链表Lis...
2019-05-04 11:06:08
102
原创 22、括号生成
给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n=3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]方法一:动态规划思路:【1】对于已有字符串str添加'('还是‘)’【2】若左括号数小于n可以添加左括号'('【3】若左括号数大于右括号数添加右...
2019-05-04 11:01:24
121
原创 19、删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。(说明给定的n保证是有效的。)给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.方法一:使用栈来存储思路:时间复杂度O(n),空间复杂度O(n)【1】压栈处理,将所有结点存入vector容器。【...
2019-05-04 10:57:49
96
原创 18、四数之和
给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为: [ [-1, 0, 0, 1], [-2, -1,...
2019-05-04 10:52:19
143
原创 17、电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。图中显示:2:abc; 3:def; 4:ghi; 5:jkl; 6:mno; 7:pqrs; 8:tuv; 9:wxyz;输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "...
2019-05-04 10:47:48
537
原创 16、最接近的三数之和
给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).如果你理解了算法15的思想,相信这道题也...
2019-05-04 10:41:11
94
原创 15、三数之和
给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]方法一:双指针法思路:时间...
2019-05-04 10:37:06
89
原创 11、盛最多水的容器
给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。输入: [1,8,6,2,5,4,8,3,7]输出: 49方法一:暴力法(超出时间限制)思路:时间复杂度O(n^2),空间复杂...
2019-05-04 10:30:14
100
原创 6、Z字形变换
题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列(实际是N字形排列)比如输入字符串为"LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N输出:"LCIRETOESIIG...
2019-05-04 10:25:16
130
转载 5、最长回文子串
题目描述:给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。输入: "babad"输出: "bab" 注意: "aba" 也是一个有效答案。方法一:暴力法(超出时间限制)思路:时间复杂度O(n^3),空间负责度O(n),用于存储s的最大长度【1】以长度length进行for循环 for(length=str.legnth();length...
2019-05-04 10:18:54
161
原创 4、寻找两个有序数组的中位数
题目要求:给定两个大小为 m 和 n 的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。示例:nums1 = [1, 2];nums2 = [3, 4];则中位数是 (2 + 3)/2 = 2.5方法一:合并法,虽然通过,但是时间复杂度不符合要求思路:参考合并两个链表 时间复杂度O(max(m,n)),空...
2019-05-02 16:58:11
217
原创 3、无重复字符的最长子串
题目要求:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。方法一:暴力法 时间复杂度O(n^3) 空间复杂度O(min(m, n)) 超出时间限制思路:【1】以长度length为for循环进行截取字符串 for(int i=length;i>0;i...
2019-05-02 14:35:19
76
原创 2、两数相加
题目要求:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807思路:l1长度为m,l2长度为n。时间复杂度O(max(m,n)...
2019-05-02 14:18:08
78
转载 阿里云从零搭建JavaWeb环境(适合linux零基础的小白)
本篇主要帮助linux零基础的小白搭建JavaWeb的环境,包括安装Java环境,tomcat,mysql等其中红字为我们输入的命令我的系统是阿里云的centos7.61、安装rzsz文件上传下载windows 需要向centos服务器上传文件,可直接在centos上执行命令yum -y install lrzsz 程序会自动安装好,然后如你要下载者sz [找到你要下载的文件] 如...
2019-01-03 13:16:16
244
原创 Android简易计算器
今天室友说网上找了好多Android计算器发现不能使用,就将自己写的计算器发一份上来。不过布局比较简单,而且只有+,-,*,/的功能。布局文件activity_main.xml(采用的是线性布局)<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:and...
2018-05-18 19:11:18
518
转载 使用eclipse进行tomcat远程调试(阿里云服务器)
tomcat远程调试可以让我们对部署在服务器上的项目进行debug调试,方便我们找出代码中的错误。今天在网上搜了相关的方法,发现里面对一个地方没有讲到,让我始终没有连接成功。现在把我踩过的坑跟大家讲一下:1.root用户启动的进程不支持进行远程调试,大家可以使用ps -ef|grep tomcat看下该进程是否是root用户启动如果是root用户的话,就要重新创建一个用户并再安
2018-02-06 12:00:40
2296
原创 jackson-databind在SpringMVC使用
其中重要的一个功能是可以将JSON格式的数据转化为类对象。比如下面这个例子:首先要引入一个jar包,如果是MAVEN项目,直接在pom.xml中导入就可以了json解析 -->dependency> groupId>com.fasterxml.jackson.coregroupId> artifactId>jackson-databindartifactId
2018-01-25 10:26:35
13054
2
原创 java找出银行家算法所有安全序列
/** * 默认最后一行为剩余的资源数 */public class Os {private static int resourceNum; // 资源数,A,B,C...private static boolean flag = false; // 判断有无找到一条安全路径private static List request= new ArrayList(); //请
2018-01-11 09:42:21
2594
原创 web.xml中的classpath指项目中的哪个路径
以springmvc项目为例,将其打包成springmvc.war文件发现底下有3个文件,进去WEB-INF我们通常说的classpath指的是WEB-INF下的classes文件因为config文件和classes文件是同级目录所以报错报错信息:parsing XML document from class path resource [config/sp
2018-01-01 12:44:28
6583
原创 通过Maven管理配置SSM所需要的jar包
在pom.xml中配置properties> spring.version>4.3.7.RELEASEspring.version>properties>dependencies> <!-- spring框架基本的核心工具类 --> dependency>
2017-12-30 16:49:14
898
1
转载 阿里云配置mysql并使用navicat连接
先说下我的环境是centos7.4,要安装的是mysql5.71、配置YUM源下载地址:https://dev.mysql.com/downloads/repo/yum/# 下载mysql源安装包shell>wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 安装m
2017-12-15 18:05:37
3822
原创 maven的安装与使用
maven是一个项目管理工具,我们可以利用它下载我们需要的jar包。第一步:下载mavenhttp://maven.apache.org/download.cgi点击右边的download和link下面的apache-maven-3.5.2.bin.zip即可将maven下载到本地,将其解压第二步:配置环境右键“我的电脑”属性-> "高级"下面的"环境变量"->"新建"
2017-12-13 20:49:20
2549
原创 PHP输出中文乱码
先放一张本人乱码时输出的图片,引起乱码的情况比较复杂,所以请尝试不同的方法方法一:在php文件中设置编码格式,因为数据库的编码格式为utf8,所以php的编码格式也为utf8在PHP的开头设置编码方式,在SELECT之前也设置编码格式结果为:方法二:WINDOWS,WIN+R打开控制台,找到mysql的bin目录进入mysql
2017-09-27 16:01:48
2196
转载 jq实现鼠标拖拽效果
拖拽*{ padding: 0; margin: 0;}div{ width: 100px; height: 100px; background: #f00; cursor: pointer; position: absolute; left: 0; top: 0;}$(function(){
2017-09-17 11:02:20
4702
原创 THINKPHP安装XDEBUG
1.在public目录下创建info.php,输入phpinfo();获得当前PHP的版本信息2.打开浏览器,在网页中输入localhost/自己的文件名/public/info.php因为我的文件名为zerg,所以我的是localhost/zerg/public/info.php右击页面,选择“查看网页源代码”CTRL+A选择全部,
2017-08-04 21:02:01
1824
转载 php向数据库中导入.sql文件
function insert($file,$database,$name,$root,$pwd)// { //将表导入数据库 header("Content-type: text/html; charset=utf-8"); $_sql = file_get_contents($file);//写自己的.sql文件
2017-08-04 21:00:18
5883
3
转载 PHP将数据库中的表导成.sql文件
header("Content-type:text/html;charset=utf-8");//配置信息$cfg_dbhost = 'localhost';$cfg_dbname = 'test';//数据库名$cfg_dbuser = 'root';//数据库用户名$cfg_dbpwd = '';//数据库密码$cfg_db_language =
2017-08-04 20:55:29
795
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人