自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣简单题-有效的括号

给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 括号匹配是使用栈解决的经典问题。 规律:先出现的左括号后匹配 模式识别:先进后出使用栈作为辅助结构 代码:1.使用HashMap存储对应的左右括号,其中右括号作为key,左括号作为value; 2.创建一个LinkedList对象 ...

2021-10-11 11:33:47 200

原创 力扣简单题-最长公共子前缀

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 思路:纵向对比 将各个字符串中的字符从第一个字符进行比较, 对于第i个字符,如果都包含,继续向后搜索 否则,返回前0~i-1个字符。 class Solution { public String longestCommonPrefix(String[] strs) { //strs字符串数组 //纵向比较法 if...

2021-10-11 09:53:40 182

原创 力扣简单题-罗马数字转整数

罗马数字包含以下七种字符:I,V,X,L,C,D和M 例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为IX。这个特殊的规则只适用于以下六种情况: I可以放...

2021-10-09 11:09:45 214

原创 力扣简单题-回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 思路:先求反转后的数,然后判断反转后的数字是否与原数相等,且必须为正数 class Solution { public boolean isPalindrome(int x) { int fanzhuan = 0; int num = x; whi

2021-10-09 10:26:14 151

原创 力扣简单题-整数翻转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 需要注意的是:反转后的数字的取值范围。 class Solution { public int reverse(int x) { int fanzhuan = 0; while(x != 0){ if (fanzhuan < In..

2021-10-09 10:09:03 102

原创 力扣简单题-柠檬水找零

题目:在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回true,否则返回 false。 思路:贪心算法 由于顾客只可能给...

2021-10-08 11:21:39 325

原创 力扣简单题-两数之和

题目: 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 1.暴力思路: 两层循环:一层用来遍历所有元素,另一层用来寻找目标数. 时间复杂度-O(n^2) class Solution { public int[] twoSum(int[] nums, int tar...

2021-10-08 10:41:18 104

原创 力扣-算法刷题第三天- 删除排序链表中的重复元素

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中没有重复出现的数字。 返回同样按升序排列的结果链表。 哑结点: 哑结点其实就是放在第一个存放数据结点之前、头结点之后的结点。加入哑结点之后就可以使所有数据结点都有前驱结点,这样就会方便执行链表的一些操作。 /** * Definition for singly-linked list. * public class ListNode { * int va...

2021-10-07 10:52:47 80

原创 力扣-算法刷题第二天- 寻找旋转排序数组中的最小值

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。 给你一个元素值 互不相同 的数组

2021-09-29 11:33:10 159

原创 力扣-算法刷题第二天-判断矩阵中是否包含目标值

编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 还是使用二分法进行查找,首先计算出行数与列数,然后计算出二维数组的中间元素的值x。将它与target进行比较:若x<target,在右边继续查找; 若x>target,在左边继续查找; 返回t...

2021-09-29 11:05:05 358

原创 力扣-算法刷题第一天-在排序数组中查找元素的第一个和最后一个位置

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回[-1, -1]。 进阶: 你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗? class Solution { public int[] searchRange(int[] nums, int target) { //首先,在数组中二分查找target int index = binaryArr...

2021-09-27 16:05:12 198

空空如也

空空如也

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

TA关注的人

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