数据结构与算法
数据结构与算法
A_bad_horse
不积跬步,无以至千里!
展开
-
栈与队列解析算术表达式(操作符)(Java版)
中缀表达式:A+B*C后缀表达式(计算机处理方式):ABC*+1.读取*,计算*左边两位数字BC进行计算并得到结果res2.读取+,计算A与res并计算得到结果第一步:将中缀表达式转为后缀表达式(通过栈实现)第二步:计算后缀表达式的结果3+4-5 过程 输出字符串 栈 3 3 ...原创 2020-03-13 14:08:26 · 447 阅读 · 0 评论 -
有序队列(Java版)
public class PriorityQ { private long[] queArray; private int maxSize; private int nItems; public PriorityQ(int size) { maxSize = size; queArray = ne...原创 2020-03-13 10:21:05 · 1335 阅读 · 0 评论 -
队列(Java版)
package sort.Queue;public class Queue { private long[] queArray; private int maxSize; private int front; private int rear; private int nItems; public Queue(int ...原创 2020-03-13 09:31:30 · 143 阅读 · 0 评论 -
选择排序(Java版)
package sort;public class selectApp { //选择排序 public static void main(String[] args) { SelectSort sel = new SelectSort(100); sel.insert(23); sel.insert(13)...原创 2020-03-13 09:10:05 · 128 阅读 · 0 评论 -
实现字符串反转(堆)(Java版)
package sort;public class Stacks { private int maxSize; private char[] stackArray; private int top; Stacks(int max) { maxSize = max; stackArray = ne...原创 2020-03-13 09:09:17 · 190 阅读 · 0 评论 -
识别括号匹配(堆)(Java版)
package sort;public class Stacks { private int maxSize; private char[] stackArray; private int top; Stacks(int max) { maxSize = max; stackArray = new ...原创 2020-03-13 09:08:29 · 259 阅读 · 0 评论 -
冒泡排序(Java版)
1.比较两个相邻对象2.如果左边的大于右边,则调换位置3.向右移动一个位置,比较接下来的两个对象4.算法复杂度O(n)package bubble;public class bubbleApp { public static void main(String[] args) { ArrayBubble arr = new ArrayB...原创 2020-03-13 09:07:24 · 111 阅读 · 0 评论 -
插入排序(Java版)
package sort;public class InsertionSortApp { // 插入排序 public static void main(String[] args) { InsertionSort arr = new InsertionSort(20); arr.insert(23); a...原创 2020-03-13 09:05:39 · 156 阅读 · 0 评论 -
13. Roman to Integer
Question DescriptionMy Keypackage LeetCode;import java.util.HashMap;import java.util.Map;public class Test { public static void main(String[] args) { System.out.printl...原创 2019-07-28 16:01:18 · 163 阅读 · 0 评论 -
14. Longest Common Prefix
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { String[] str1 = {"flower","flow","flight"}; System.ou...原创 2019-07-28 16:03:02 · 122 阅读 · 0 评论 -
15. 3Sum
Question DescriptionMy Keypackage LeetCode;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Test { public static void main(String[] args) { ...原创 2019-07-28 16:04:29 · 166 阅读 · 0 评论 -
16. 3Sum Closest
Question DescriptionMy Keypackage LeetCode;import java.util.Arrays;public class Test { public static void main(String[] args) { int[] a = {-1, 2, 1, -4}; System.out...原创 2019-07-28 16:05:33 · 132 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number
Question DescriptionMy Keypackage LeetCode;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Test { public static void main(Str...原创 2019-07-28 16:07:05 · 298 阅读 · 0 评论 -
18. 4Sum
Question DescriptionMy Keyimport java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Test { public static void main(String[] args) { } public static Lis...原创 2019-07-28 16:08:19 · 205 阅读 · 0 评论 -
19. Remove Nth Node From End of List
Question DescriptionMy Keypackage LeetCode;class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}public class Test { public static void main...原创 2019-07-28 16:09:34 · 156 阅读 · 0 评论 -
31. Next Permutation【下一个排列】
https://leetcode-cn.com/problems/next-permutation/solution/xia-yi-ge-pai-lie-by-leetcode/package LeetCode;public class Test { public static void main(String[] args) { int[] nums1 = {1,2,3}; ...原创 2019-08-01 20:20:04 · 209 阅读 · 0 评论 -
33. Search in Rotated Sorted Array【搜索旋转排序数组】
package LeetCode;public class Test { public static void main(String[] args) { int[] nums1 = {4,5,6,7,0,1,2}; int target1 = 3; System.out.println(search(nu...原创 2019-08-09 13:53:21 · 231 阅读 · 0 评论 -
34.❤ Find First and Last Position of Element in Sorted Array【在排序数组中查找元素的第一个和最后一个位置】
public static int[] searchRange(int[] nums, int target) { int l = 0; int r = nums.length-1; int result[] = {-1, -1}; //find first position of result while...转载 2019-08-23 20:08:35 · 169 阅读 · 0 评论 -
12. Integer to Roman
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { System.out.println(intToRoman(111)); } public static...原创 2019-07-28 15:59:02 · 154 阅读 · 0 评论 -
11. Container With Most Water
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { int[] num = {1,8,6,2,5,4,8,3,7}; ...原创 2019-07-28 15:56:44 · 135 阅读 · 0 评论 -
21. Merge Two Sorted Lists【合并两个有序链表】
Refer: https://leetcode-cn.com/problems/merge-two-sorted-lists/solution/he-bing-liang-ge-you-xu-lian-biao-by-leetcode public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == nu...原创 2019-07-29 09:24:05 · 168 阅读 · 0 评论 -
20. 括号生成
Refer: https://leetcode-cn.com/problems/generate-parentheses/solution/java-di-gui-qiu-jie-by-ssimz/目前尚未弄明白,代码在本地调试通过。package LeetCode;import java.util.ArrayList;import java.util.List;public ...原创 2019-07-29 16:29:29 · 142 阅读 · 0 评论 -
22.Generate Parentheses【括号生成】
Refer: https://leetcode-cn.com/problems/generate-parentheses/solution/java-di-gui-qiu-jie-by-ssimz/目前尚未弄明白,代码在本地调试通过。package LeetCode;import java.util.ArrayList;import java.util.List;public ...原创 2019-07-29 16:32:05 · 172 阅读 · 0 评论 -
24. Swap Nodes in Pairs【两两交换链表中的节点】
package LeetCode;public class Test { public static void main(String[] args) { ListNode l1 = new ListNode(1); ListNode l2 = new ListNode(2); ListNode l3 = new ListNode(3); ListNode l4 = ...原创 2019-07-30 15:56:31 · 117 阅读 · 0 评论 -
26. Remove Duplicates from Sorted Array【删除排序数组中的重复项】
package LeetCode;public class Test { public static void main(String[] args) { int[] nums1 = {1,1,2}; System.out.println(removeDuplicates(nums1)); int[] nums2 = {0,0,1,1,1,2,2,3,3,4}; S...原创 2019-07-30 16:16:07 · 179 阅读 · 0 评论 -
27. Remove Element【移除元素】
package LeetCode;public class Test { public static void main(String[] args) { int[] nums1 = {3,2,2,3}; for (int i = 0; i < nums1.length; i++) { System.out.print(nums1[i] + "\t"); }...原创 2019-07-30 17:00:14 · 267 阅读 · 0 评论 -
28. Implement strStr()【实现strStr()】
package LeetCode;public class Test { public static void main(String[] args) { String haystack1 = "hello"; String needle1 = "ll"; System.out.println(strStr(haystack1, needle1)); String h...原创 2019-07-30 19:07:35 · 149 阅读 · 0 评论 -
29. Divide Two Integers【递归+位运算】
refer: https://leetcode.com/problems/divide-two-integers/package LeetCode;public class Test { public static void main(String[] args) { System.out.println(Integer.MIN_VALUE >> 1); System...原创 2019-07-31 17:53:48 · 243 阅读 · 0 评论 -
35. Search Insert Position【搜索插入位置】
package LeetCode;public class Test { public static void main(String[] args) { int[] nums1 = {1,3,5,6}; int target1 = 5; int target2 = 2; int tar...原创 2019-07-31 18:23:33 · 138 阅读 · 0 评论 -
1. Two Sum
Question DescriptionMy Keypackage TwoSum;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class TwoSumMain { public static void main(String args[]) { ...原创 2019-07-28 15:32:50 · 111 阅读 · 0 评论 -
2. Add Two Numbers
Question DescriptionMy Keypackage AddTwoNumbers;import java.util.Scanner;public class ListNodeMain { private static Scanner sc; public static void main(String[] args) { Sys...原创 2019-07-28 15:38:03 · 128 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
Question DescriptionMy Keypackage Three_LongestSubstring;import java.util.HashSet;import java.util.Set;public class LongestSubstring_key { public static void main(String[] args) { ...原创 2019-07-28 15:41:02 · 106 阅读 · 0 评论 -
5. Longest Palindromic Substring
Question DescriptionMy Keypackage LeetCode;public class Test { private static int index; private static int len; public static void main(String[] args) { ...原创 2019-07-28 15:44:51 · 113 阅读 · 0 评论 -
6. ZigZag Conversion
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { System.out.println(convert("PAYPALISHIRING", 3)); } pu...原创 2019-07-28 15:47:08 · 127 阅读 · 0 评论 -
7. Reverse Integer
Question DescriptionMy Key public static int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10; ...原创 2019-07-28 15:49:24 · 112 阅读 · 0 评论 -
8. String to Integer (atoi)
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { System.out.println(myAtoi("+12345")); System.out.pr...原创 2019-07-28 15:52:32 · 119 阅读 · 0 评论 -
9. Palindrome Number
Question DescriptionMy Keypackage LeetCode;public class Test { public static void main(String[] args) { System.out.println(isPalindrome(121)?1:0); } pub...原创 2019-07-28 15:54:34 · 141 阅读 · 0 评论 -
20. Valid Parentheses【有效括号】
package LeetCode;import java.util.ArrayList;public class Test { public static void main(String[] args) { System.out.println(isValid("()")?1:0); System.out.println(isV...原创 2019-07-28 23:32:15 · 166 阅读 · 0 评论