![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法代码
Jackson王
做一个热爱技术的IT工作人员,你能,你行
展开
-
LeetCode——链表
一、反转链表leetcode双指针法:时间复杂度O(n),空间复杂度O(1)/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) {原创 2020-07-28 17:17:15 · 139 阅读 · 0 评论 -
高频必会算法
1、二分查找int binarySearch(int[] nums, int target) { int left = 0, right = ...; while(...) { int mid = left + (right - left) / 2;//计算 mid 时需要防止溢出 if (nums[mid] == target) { ... } else if (nums[mid] < target) {原创 2020-07-28 17:13:14 · 175 阅读 · 0 评论 -
LeetCode——MySQL
一、查找重复邮箱(182)美团笔试编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。Person表如下IdEmail12@baidu.com21@baidu.com32@baidu.comselect Email from Person group by Email having count(Email)>1;二、查询从不订购的顾客(183)customers表:id nameorders表: id原创 2020-06-12 20:55:00 · 126 阅读 · 0 评论 -
leetcode——动态规划
写目录一、爬楼梯(70)一、爬楼梯(70)leetcode题解这个问题可以被分解为一些包含最优子结构的子问题,即它的最优解可以从其子问题的最优解来有效地构建,我们可以使用动态规划来解决这一问题。第i阶可以由以下两种方法得到: 在第 (i-1)阶后向上爬1阶。 在第 (i-2) 阶后向上爬 2 阶。 令 dp[i] 表示能到达第 i阶的方法总数: 函数dp[i]=dp[i−1]+dp[i−2]public class Solution { public int climbStairs(原创 2020-05-14 23:13:39 · 126 阅读 · 0 评论 -
LeetCode——字符串
目录一、最后一个单词的长度(58 )字符串遍历二、验证IP地址(468)一、最后一个单词的长度(58 )字符串遍历完整过程为先从后过滤掉空格找到单词尾部,再从尾部向前遍历,找到单词头部,最后两者相减,即为单词的长度时间复杂度:O(n),n为结尾空格和结尾单词总体长度class Solution { public int lengthOfLastWord(String s) { if(s == null || s.length() == 0) return 0;//边界值原创 2020-05-13 16:12:42 · 248 阅读 · 0 评论 -
leetcode——二叉树
目录一、二叉树的最大深度(103)一、二叉树的最大深度(103)递归: /** * 递归实现二叉树最大深度 * 时间复杂度O(n) * 空间复杂度:线性表最差O(n)、二叉树完全平衡最好O(logn) */ private static int maxDepth(TreeNode root) { //递归退出条件,到叶子节点 if (root == null) { return 0;原创 2020-05-12 22:25:30 · 418 阅读 · 0 评论 -
LeetCode——数组
目录一、返回缺失的数字二.二分查找一、返回缺失的数字如[0,1,3,50,75],返回[2, 4->49, 51->74, 76->99]package 面试算法;import java.sql.SQLOutput;import java.util.ArrayList;import java.util.List;public class FindMissnumbe...原创 2020-03-30 09:26:57 · 288 阅读 · 0 评论 -
算法刷题
12月10号一、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。测试用例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0,...原创 2019-12-11 16:03:40 · 254 阅读 · 0 评论