![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetCode算法题库
巨人IIT
代码666
展开
-
给定升序数组,以及目标值,查找出最接近目标值的所有数组组合
学习需要记录,还有进步的空间,争做越来越好的自己!!!解题思路:1、已知给定的数组是升序的,需要找出和目标值target相近的一些数字的组合,我们通过先找出大于等于的一部分,把这部分先过滤,这样剩下的组合才是需要排查的范围。2、假如排查后剩下:1,2,3,4,5,7 ;target=10 的话,我们依次拿数组7开头的 1,2,3,4,55开头的1,2,3,4… 这样递归/循环数组去寻找3、每次循环我们都用Map存储下对应循环的深度以及开头的值4、注意存值的时候需要过滤重复的数字组合原创 2021-11-10 18:14:50 · 3942 阅读 · 0 评论 -
请实现一个函数,将一个字符串中的每个空格替换成“%20”
import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public String replaceSpace (String s) { // write code here int原创 2021-04-02 16:08:22 · 319 阅读 · 0 评论 -
排序算法——交换排序[冒泡排序、快速排序]
排序算法分类图:这里先说明交换排序:需要通过两两大小比较来进行位置交换。交换排序算法包含:1、冒泡排序2、快速排序冒泡排序:(1)相邻位置进行大小比较,如果位置左边的比右边的大(小)则交换位置,依次对比交换,一轮下来,将找到最大的数位于最右(左)的位置。(2)继续对比,规则同(1),每轮找到当前对比中最大(小)的数public static int[] MySort (int[] arr) { if (null == arr || arr.length == 0原创 2021-02-09 16:32:22 · 131 阅读 · 0 评论 -
递归遍历出所有父子级的层级关系【包含跨级】
问题需要递归遍历出所有父子级的层级关系【包含跨级】如图:需要找出各个有父子级关联之间的层级关系,例如 节点0 和 节点1,节点0 和 节点3,节点 1 和 节点5 之间的关系(节点2 和 节点4不算)解题思路:1:拿到本节点的子节点2:把子节点当主节点,获取主节点与父节点的层级关系3:判断主节点的父节点是否为顶层节点,如果不是,则获取到父节点并递归取父节点的父节点,获取主节点与【父节点的父节点】的层级关系4:依次判断,递归具体案例代码:import lombok.Data;impo原创 2020-07-02 10:20:36 · 3450 阅读 · 1 评论 -
求一个数组中和为目标数target的两个元素的下标,下标从1开始
public class Solution { public static void main(String[] args) { int[] ints = twoS(new int[]{0,4,1,0}, 0); System.out.println(Arrays.toString(ints)); } // 方法 1 public static int[] twoSum (int[] numbers, int target) {原创 2020-06-30 10:51:39 · 493 阅读 · 0 评论 -
括号序列算法题——Stack 栈应用
题目描述给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。解题思路运用栈的后进先出的原理package com.example.demotest.leetcode;import java.util.Stack;/** * 题目描述 * 给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字原创 2020-09-27 16:55:58 · 195 阅读 · 0 评论 -
对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上
解题思路:小于 3 个点的结果就是点数点数多于2个点的时候:关键:判断每个点和其他点之间的斜率相等的最多的个数1)取1个点的坐标,计算出和另一个点斜率的分母和分子2) 遍历取1个点 和 1)中的固定一个点用乘数的方式对比斜率是否相等,如果相等,点数 +1;import java.util.*;/* * public class Point { * int x; * int y; * } */public class Solution { /**原创 2020-08-07 17:10:55 · 577 阅读 · 0 评论 -
计算逆波兰式(后缀表达式)的值
运算符仅包含"+","-","*“和”/",被操作数可能是整数或其他表达式例如:[“2”, “1”, “+”, “3”, “*”] -> ((2 + 1) * 3) -> 9↵ [“4”, “13”, “5”, “/”, “+”] -> (4 + (13 / 5)) -> 6介绍相关知识:什么是逆波兰式(后缀表达式)逆波兰表达式又叫后缀表达式,中学时候学的那种表达式叫中缀表达式。例如,5×(6+3)÷3-1 , 3×(4÷(2+1)×2)-3例子中的这两个式原创 2020-08-07 11:51:10 · 1981 阅读 · 0 评论 -
求给定二叉树的最小深度 # 最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量
求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。分4种情况分析: 1 没有根节点 2 只有根节点 3 二叉树的根节点只有左子树 or 只有右子树 4 根节点左子树和右子树都有import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } *原创 2020-08-07 10:09:18 · 442 阅读 · 0 评论