java算法练习
在LeetCode中的练习记录
借东西的小人儿
这个作者很懒,什么都没留下…
展开
-
Java_LeetCode_加一
力扣原创 2022-06-21 16:12:53 · 96 阅读 · 0 评论 -
Java_LeetCode_最大子数组和
分治思想原创 2022-06-19 14:53:45 · 94 阅读 · 0 评论 -
Java_LeetCode_搜索插入位置
leetCode算法原创 2022-06-18 18:54:38 · 78 阅读 · 0 评论 -
Java_LeetCode_字符串匹配_KMP算法
KMP算法原创 2022-06-09 23:43:09 · 127 阅读 · 0 评论 -
Java_LeetCode_删除数组中与指定值相等的数
题目:给定一个数组num,和value如果num中的某个元素与value相等,则删除该元素,之后并返回新数组长度 public static void main(String[] args) {// 双指针的用法:就是用将一个数组当成两个来用,将arr[slow]数组当做空数组往里面填值 int[] arr = new int[]{1,3,3,4}; int value = 3; int fast = 0; int slow原创 2022-05-28 22:47:35 · 215 阅读 · 0 评论 -
Java_LeetCode_删除有序数组中重复数据
//分成快慢指针,从第二个元素开始与前一个元素比较,不行等保持不变,两//个指针都后移,相等fast指针后移在进行比较,//最后返回slow指针是去除重复后的字符串长度public static void main(String[] args) { String[] st = new String[]{"1", "2", "2", "3", "3", "3", "4"}; int fast = 1; int slow = 1; int le原创 2022-05-27 17:09:41 · 66 阅读 · 0 评论 -
Java_LeetCode_括号匹配
用栈 写快一些,不过我没用想法:用集合存储输入的字符串,当集合为空时第一个字符串中第一个字符保存,当第二个字符串准备保存时,先与集合中的最后一个元素比较,如果不同则保存,如果值相同则移除集合中最后一个元素。如果最后集合为空则返回true,否则就是false。用Map保存括号的对应值。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。来源:力扣(LeetCode)原创 2022-05-23 09:57:43 · 248 阅读 · 1 评论 -
java_LeetCode_字符串最长前缀
输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/longest-common-prefix著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 public static void main(String[] args) {原创 2022-05-21 23:41:34 · 145 阅读 · 0 评论 -
java_LeetCode_罗马数字转整数
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。X 可以放在 L原创 2022-05-20 23:39:20 · 146 阅读 · 0 评论 -
java_LeetCode_正则表达式匹配
```java```javapublic class LeecodeTest { public boolean solve(String s, String p, int index1, int index2) {// 递归终止条件// 字符串s匹配结束(并且){p匹配结束(或者)[p的最后一个字符(index2+1)是“*)]}如:s:abbbb;p:ab*(中间匹配过程更趋向于情况二中的第二个选择// 该条件用来判断结尾处的情况 .原创 2022-05-19 23:12:54 · 239 阅读 · 0 评论 -
Java_回文数练习
思路:将数字进行对半分割,再进行比较class Solution { public boolean isPalindrome(int x) { //当x小于零或者当x为非零数时个位是零时不是回文数 if(x < 0 || x % 10 == 0 && x != 0){ return false; } int reverNumber = 0; while(x>reverNum原创 2022-05-18 14:20:21 · 867 阅读 · 0 评论