![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
中国好胖子、
学不死就往死里学,比你优秀的人比你还努力,你还拿什么和别人拼
展开
-
设计LRU缓存结构
设计LRU缓存结构描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。思路:我们想要达到插入和获取都是O(1)的时间复杂度的话,那么我们需要原创 2021-06-22 17:09:41 · 349 阅读 · 0 评论 -
Leetcode-344.反转字符串
class Solution { public void reverseString(char[] s) { int left = 0; int right = s.length-1; while (left <= right){ char temp = s[left]; s[left] = s[right] ; s[right] = temp; l.原创 2020-09-04 15:50:35 · 72 阅读 · 0 评论 -
Leetcode-剑指Offer 21.调整数组顺序使奇数位于偶数前面
采用快排的分区思想就好了class Solution { public int[] exchange(int[] nums) { int i = 0; int j = nums.length-1 ; while (i < j ){ while (nums[j]%2 ==0 && i < j){ j--; } whil.原创 2020-09-02 12:56:23 · 72 阅读 · 0 评论 -
Leetcode-剑指Offer 20.表示数值的字符串
难度不大,就是太操蛋,得测class Solution { public boolean isNumber(String s) { if( (s.indexOf("f") != -1 || s.indexOf("F") != -1 || s.indexOf("d") != -1 || s.indexOf("D") != -1)){ return false; } try{ Double..原创 2020-09-02 11:41:43 · 131 阅读 · 0 评论 -
Leetcode-剑指Offer 20.表示数值的字符串
class Solution { public boolean isNumber(String s) { try{ Double.valueOf(s); return true; }catch(Exception e){ return false; } }}原创 2020-09-02 10:50:54 · 79 阅读 · 0 评论 -
Leetcode-剑指Offer 32 -I.从上到下打印二叉树
其实就是层序遍历,借助队列的方法/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */import java.util.Queue;import java.util.LinkedList;import jav.原创 2020-09-02 09:54:24 · 131 阅读 · 0 评论 -
Leetcode-剑指Offer 58-II.左旋转字符串
class Solution { public String reverseLeftWords(String s, int n) { return s.substring(0,n) + s.substring(n,s.length()); }}原创 2020-09-01 17:58:13 · 89 阅读 · 0 评论 -
Leetcode-142.环形链表2
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode detectCycle(ListNode hea.原创 2020-09-01 17:51:22 · 61 阅读 · 0 评论 -
Leetcode-141.环形链表
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public boolean hasCycle(ListNode head) {.原创 2020-09-01 17:34:26 · 74 阅读 · 0 评论 -
Leetcode-02.01.移除重复节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode removeDuplicateNodes(ListNode head) { if (head == null){ .原创 2020-09-01 17:20:03 · 91 阅读 · 0 评论 -
Leetcode-876.链表的中间节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode middleNode(ListNode head) { ListNode low = head; L.原创 2020-08-31 16:32:38 · 68 阅读 · 1 评论 -
Leetcode-剑指Offer 06.从尾到头打印链表
import java.util.Stack;/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int[] reversePrint(ListNode head) { Stack&.原创 2020-08-31 16:07:50 · 95 阅读 · 0 评论 -
Leetcode-02.03.删除中间节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNode(ListNode node) { ListNode tmp = node.next; .原创 2020-08-31 15:48:29 · 63 阅读 · 0 评论 -
Leetcode-02.02.返回倒数第k个节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int kthToLast(ListNode head, int k) { ListNode p = head; Li.原创 2020-08-31 15:42:46 · 67 阅读 · 0 评论 -
数据结构-反转链表
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) { ListNode pre = null; .原创 2020-08-31 15:27:26 · 140 阅读 · 0 评论 -
2 * (n + 1) + f(n - 1)的递归优化
递归解法 public static int function1(int n) { if (n < 1) throw new IllegalArgumentException("参数错误!"); else if (n == 1) { return n; } return 2 * (n + 1) * function1(n - 1); }循环解法 public .原创 2020-08-08 11:04:12 · 119 阅读 · 0 评论 -
Leetcode-20.有效的括号
package stack;import java.util.Stack;/** * Copyright (c) 2019 bigdata ALL Rights Reserved * Project: learning * Package: stack * Version: 1.0 * * @author qingzhi.wu 2020/7/12 18:26 */public class CheckBracket { public boolean isValid(Strin原创 2020-07-12 18:57:58 · 62 阅读 · 0 评论 -
Leetcode-1.两数之和
1. 题目描述2. 暴力解法 int[] index = new int[2]; for (int i = 0; i < nums.length - 1; ++i) { for (int j = i+1; j < nums.length ; ++j) { if((nums[i] + nums[j] )== target){ index = new int[]{i,j};原创 2020-07-09 17:32:49 · 78 阅读 · 0 评论 -
Leetcode-70.爬楼梯
1. 题目描述2. 题解 public int climbStairs(int n) { if (n <=2){ return n; } int f1 = 1; int f2 = 2; int f3 = 3; for (int i = 2;i <n;i++){ f3 = f1 +f3; f1 = f2; f2 = f3;}return f3; }原创 2020-07-09 16:55:47 · 106 阅读 · 0 评论 -
Leetcode-283.移动零
1. 题目描述2. 解法public void moveZeroes(int[] nums) { int index = 0 ; for (int num: nums){ if(num != 0 ){ nums[index++] = num; } } while(index<nums.length){ nums[index++] = 0;原创 2020-07-09 16:06:17 · 72 阅读 · 0 评论 -
Leetcode-11.盛最多水的容器
1. 题目描述2. 暴力解法 public int maxArea(int[] height) { int max = 0; for (int i = 0 ; i < height.length -1; ++i){ for (int j = i+1;j<height.length; ++j){ int area = (j -i ) * Math.min(height[i],height[j]);原创 2020-07-09 16:01:06 · 98 阅读 · 0 评论