自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 如何求一个二进制数的最低位的1

可知在计算机中数是以补码的形式储存的。比如7,为111。-7为11111001。其中求解-7的补码形式我们是怎么求解的呢?负数原码转换为补码的方法之一:符号位保持1不变,数值位按位求反,末位加1。负数原码转换为补码的方法之二:符号位保持1不变,在数值位中从低位向高位找1,第一个1及其右边的0保持不变,数值位的其余部分求反。这两种方法大家试一试就会发现其实是一样的。第一种方法是按照定义来设计的求解方式。解释:一个正数的补码为原码自己,设为a,其负数形式的补码设为b,可知a+b=0。方..

2021-07-22 11:36:28 3689

原创 【Leetcode】48. 旋转图像

题目给定一个 n×n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8...

2020-06-22 22:57:46 130

原创 【Leetcode】49. 字母异位词分组

题目给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/group-anagrams...

2020-06-21 22:28:58 117

原创 【Leetcode】 46. 全排列

题目给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutations著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法典型的搜索解法,时间复杂度为O(N!),空间复杂度为...

2020-06-18 20:56:13 90

原创 【Leetcode】32. 最长有效括号

题目给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法方...

2020-06-18 20:40:01 93

原创 【Leetcode】34. 在排序数组中查找元素的第一个和最后一个位置

题目给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]来源:力扣(LeetCode)链接:https://...

2020-06-18 10:02:12 93

原创 【Leetcode】39. 组合总和

题目给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例2:输入: candidates = [2,3,5]...

2020-06-16 19:34:41 146

原创 【Leetcode】33. 搜索旋转排序数组

题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target = 0输出: 4示例2:输入: nums = [4,5,6,7,0,1,2]...

2020-06-16 19:28:34 73

原创 【Leetcode】31. 下一个排列

题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-permutation著作权归领扣网络所

2020-06-11 23:09:18 75

原创 【Leetcode】21. 合并两个有序链表

题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法归并排序,时间复杂度为O(.

2020-06-10 23:44:55 81

原创 【Leetcode】20. 有效的括号

题目给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false示例4:输入: "([)]"输出: false示例5:输入: "{[]}"输出: true来源:力...

2020-06-10 23:33:44 66

原创 【Leetcode】19. 删除链表的倒数第N个节点

题目给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list著作...

2020-06-10 23:30:49 67

原创 【Leetcode】17. 电话号码的字母组合

题目给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number著作权归领扣网络所有。商业转载..

2020-06-10 23:27:08 81

原创 【Leetcode】15.三数之和

题目给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum...

2020-06-10 00:23:46 66

原创 【Leetcode】10. 正则表达式匹配

题目给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2:输入:...

2020-06-08 20:53:44 158

原创 【Leetcode】11. 盛最多水的容器

题目给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-w...

2020-06-07 22:59:16 132

原创 【Leetcode】5. 寻找两个正序数组的中位数

题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法方法1暴力.

2020-06-06 00:59:30 74

原创 【Leetcode】4. 寻找两个正序数组的中位数

题目给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5来源:力扣(LeetCode)链接:https:/...

2020-06-05 23:28:53 122

原创 排序算法1

冒泡排序,时间复杂度O(n2),空间复杂度为O(1)class Solution { public int[] sortArray(int[] nums) { for (int i = 0; i < nums.length; i++){ for (int j = 1; j < nums.length - i; j++){ ...

2020-05-25 17:41:39 99

原创 【Leetcode】2.两数相加

题目给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https:...

2020-05-25 17:40:55 91

原创 【Leetcode】3.重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...

2020-05-03 22:56:16 284

原创 【Leetcode】1. 两数之和

给定整数数组 A,每次 move 操作将会选择任意A[i],并将其递增1。返回使 A中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可以看出 ...

2020-03-23 22:41:15 43

原创 Mybatis批量插入功能

数据库的结构如下所示使用insert标签与foreach标签实现批量插入功能。测试插入10000条数据的时间,测试代码如下,时间959ms。public class Test { public static void main(String[] args) throws Exception { InputStream inputStream = Res...

2020-02-22 19:52:48 391

原创 外键的使用

只有INNODB的引擎才支持外键。从表的外键必须是主表的主键,主键和外键的字段类型要相似,数值型类型要求一致,无符号也要要求一致,字符型长度可以不同,类型需要一致。如果外键字段没有创建索引,MYSQL会自动给外键创建普通索引。外键可以在创建表的时候添加,也可以在创建表之后修改。建表时指定外键。使用[CONSTRAINT 外键名称] FOREIGN KEY(从表字段)REFERE...

2019-03-01 00:14:20 2287 1

原创 MySQL数据库多表联查

首先创建两个有关系的表格,并插入相关的数据。emp表中的depId即为dep表中的id。笛卡尔积直接从两个表中获取字段,得到的结果是两个字段的笛卡尔积。内连接把上面笛卡尔积满足关系的给筛选出来,比如当前这两个表,depID应该是两个表的关系,使用WHERE筛选,可以把我们想要的数据筛选出来,这种方式被称为隐式内连接。还有一种内连接的方式,称为显示内连接,其中INNE...

2019-02-28 23:02:14 866

原创 MYSQL数据表记录的增删改查2

显示表中所有信息,包括所有记录以及所有列。使用WHERE关键字进行筛选筛选出表中的某些列,并使用别名展示。使用WHERE条件筛选数据,可以使用的比较符号有&gt;, &gt;=, &lt;, &lt;=,=,&lt;=&gt;,!=, &lt;&gt;需要注意的是=,!=, &lt;&gt;无法查出NULL的数据。插入一条为NULL的值进行实验。可以使用&l...

2019-02-25 23:21:58 165

原创 MYSQL数据表记录的增删改查操作1

对于数据库来说,最关键的知识就是对记录的操作。对记录的操作可以分为增删改查4种。下面开始试验一下上面几种语法,首先创建创建一个数据表。增加记录INSERT INTO test [(字段名称...)] VALUES (字段值...);INSERT INTO test SET 字段名称=字段值, 字段名称=字段值...;INSERT INTO test(name, se...

2019-02-24 22:45:32 229

原创 MYSQL数据库基本概念及基本操作

数据库是按照数据结构来组织、存储、管理数据的仓库。MySQL是一个关系型数据库,是一个开源、免费以及比较流行的数据库。数据库相关操作创建数据库:CREATE DATABASE|SCHEMA [IF NOT EXISTS] database_name [[DEFAULT] CHARACTER SET [=] charset];创建一个database_name名称的数据库,可用的关键字为...

2019-02-17 23:29:22 106

原创 简单的死锁实现

死锁

2017-12-20 17:17:52 178

空空如也

空空如也

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

TA关注的人

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