算法
不带刺仙人球
这个作者很懒,什么都没留下…
展开
-
寻找第N个丑数
参考:https://blog.csdn.net/qq_34342154/article/details/78768201【题目】 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。【基本思路】 方法一: 如果一个数是丑数,那么这个数,如果能被2整除,就一直除以2,如果能被3整除就一直除以3,如果能被5整除,就一直除以5,最后的结果一定是1。按照.原创 2021-03-11 22:04:50 · 254 阅读 · 0 评论 -
股票的最大利润
参考:https://blog.csdn.net/qq_44502283/article/details/1052790151.问题描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例1:输入:[7, 1, 5, 3, 6, 4]输出:5解释:价格为1时买入,价格为6时卖出示例2:输入:[7, 6, 4, 3, 1]输出:0解释:这种情况下,没有交易完成2.问题解决设置两个变量pre=0和max=0,分别表示买入股票的..原创 2021-03-11 22:00:58 · 98 阅读 · 0 评论 -
爬楼梯/n阶台阶问题
参考:https://blog.csdn.net/weixin_44246694/article/details/106130091爬楼梯,假设你正在爬楼梯,需要 n 步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶?F(n)表示n阶的方法,此时由一步F(n-1)、二步F(n-2)。F(n)=F(n-1)+F(n-2)public static int func(int i){ if(i==2){ return ...原创 2021-03-11 21:57:52 · 555 阅读 · 0 评论 -
n个各不相同的元素中取出m个有序数
从1,2,3,,,n中取出m个不同的有序数原创 2021-02-24 23:16:47 · 450 阅读 · 0 评论 -
Stack实现队列
参考:https://blog.csdn.net/hellozhxy/article/details/80280393 出栈为:a 出栈为:b 出栈为:c 出栈为:dpackage test;import java.util.Stack;/* 参考:https://blog.csdn.net/hellozhxy/article/details/80280393 *由于stack是现进后出(FILO),而queue是先进先出的(FIFO)。 *也就是说stack...原创 2020-05-19 23:58:19 · 158 阅读 · 0 评论 -
两节点的最长路径
package com.douyin;/*https://blog.csdn.net/qq_40320556/article/details/92772467* */public class FindTreeMaxLength { class Node{ int value; Node leftNode; ...原创 2020-01-02 00:26:49 · 534 阅读 · 1 评论 -
B树与B+树
参考:https://blog.csdn.net/qq_25940921/article/details/82224418B树每次都从根节点开始查找值,B树每个节点有key和value,查找时,可能不需要那么多value占用很多空间。 所以,B+树在B树的基础上做了优化,它与B树的差异在于:(1)有 k 个子节点的节点必然有 k 个key;(2)非叶子节点仅具有索引作用,跟记录...原创 2019-12-30 00:03:25 · 131 阅读 · 0 评论 -
leetCode185富有和安静
package com.douyin;import java.util.ArrayList;import java.util.HashSet;import java.util.Set;/*https://blog.csdn.net/weixin_43175029/article/details/92842259题意:在一组N个人(0,1,2,,,,N-1),每个人都有不同的钱以...原创 2019-12-26 18:09:34 · 129 阅读 · 0 评论 -
最大子段和
package niuke;/*https://blog.csdn.net/michaelhan3/article/details/74357730https://www.cnblogs.com/coderJiebao/p/Algorithmofnotes27.htmlhttps://www.xuebuyuan.com/3239902.html给定k个整数的序列{N1,N2,.....原创 2019-12-24 23:38:42 · 260 阅读 · 0 评论 -
字母连续删除
import java.util.ArrayList;import java.util.List;/*1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello2. 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello3. 上面的规则优先“从左到右”匹配,即如果...原创 2019-12-22 22:52:49 · 570 阅读 · 0 评论 -
重写与重载
在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载。重载 总结:1.重载Overload是一个类中多态性的一种表...原创 2019-12-04 16:05:17 · 107 阅读 · 0 评论 -
最大不重复子串
package jvm;import java.util.HashMap;import java.util.Map;public class NoRepeatString { /** * 003-Longest Substring Without Repeating Characters(最长非重复子字符串) * * @param s ...原创 2019-12-02 16:09:03 · 179 阅读 · 0 评论 -
求字符串子串
package jvm;public class ChildString { public static void childStr(String tmp){ int len=tmp.length(); int cir=1; for(int i=0;i<len;i++){ ci...原创 2019-12-02 14:46:17 · 136 阅读 · 0 评论 -
二叉树的前序中序后序遍历(2)
参考Macho0723的博客,网址:https://blog.csdn.net/qq_34154570/article/details/82700094已知前序、中序,求二叉树和后序遍历结果输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,...原创 2019-11-01 11:09:30 · 128 阅读 · 0 评论 -
二叉树的前序中序后序遍历(1)
参考Macho0723的博客,网址:https://blog.csdn.net/qq_34154570/article/details/82700094二叉树有前序遍历、中序遍历和后序遍历。一、前序遍历:(根-->左-->右)循环{ 1访问根节点 2 访问左子树 3 访问右子树}二、中序遍历循环{ 1访问左...原创 2019-11-01 09:59:22 · 351 阅读 · 0 评论 -
回家的青蛙
package algorithm;/*//https://blog.csdn.net/u010062386/article/details/82695580?utm_source=app青蛙在原点x=0,它可以向左或者向右跳,每次跳跃距离都在原先基础上加1,即第一次跳1,第二次跳2,第i次跳i.当目标距离为t时,求跳跃到x=t时,最小的跳跃次数。//题目也可为以下: 题目:一...原创 2019-10-27 22:36:44 · 777 阅读 · 0 评论 -
一国之主图
package algorithm;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.LinkedList;import java.util.Map;import java.util.Scanner;import java.util.Set;...原创 2019-10-25 15:34:36 · 361 阅读 · 0 评论 -
商队运输费
package algorithm;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.LinkedList;import java.util.Map;import java.util.Set;/**//https://exercise...原创 2019-10-21 22:35:46 · 170 阅读 · 0 评论 -
Java图遍历
参考beanlam的博客,网址:https://segmentfault.com/a/1190000002685939package algorithm;import java.util.ArrayList;import java.util.LinkedList;/**//https://exercise.acmcoder.com/online/online_jud...原创 2019-10-19 00:24:30 · 278 阅读 · 0 评论 -
小赛旅游
package algorithm;import java.util.Scanner;/**//https://exercise.acmcoder.com/online/online_judge_ques?ques_id=2267&konwledgeId=139************ //如果不满足,即无法到达终点,需要补给的次数为0 *****题目描述 ...原创 2019-10-16 11:31:38 · 179 阅读 · 0 评论 -
LeetCode游戏跳跃贪心
package algorithm;/**参考:https://blog.csdn.net/scarlett_guan/article/details/80159621题目: 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。例如:输入: [2,3,1,1,4]输...原创 2019-10-14 18:53:42 · 99 阅读 · 0 评论 -
深度优先遍历和广度优先遍历
package algorithm;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class DFS { static class TreeNode{ int value; TreeNode left; TreeN...原创 2019-10-12 14:32:51 · 170 阅读 · 0 评论 -
乘法表
度度熊和爷爷在玩一个乘法表游戏。乘法表的第i行第j列位置的元素为i*j,并且乘法表下标编号从1开始,比如2 × 3乘法表为 1 2 3 2 4 6* 爷爷十分聪明,对于n*m的乘法表,只要度度熊给出一个数k,爷爷就能立刻告诉度度熊乘法表中元素按照不减顺序排列之后,第k个元素是多少。* 你能重复这个游戏吗* 输入数据是三个整数:n, m, k (1≤n, m≤5*105, 1≤k≤nm)...原创 2019-09-18 16:32:37 · 650 阅读 · 0 评论 -
Substring with Concatenation of All Words(串联所有单词的子串)
package algorithm;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/*参考:https://blog.csdn.net/DERRANTCM/article/details/47064933参考:https://www.cn...原创 2019-09-08 22:18:23 · 200 阅读 · 0 评论 -
2个排序数组的中位数
参考Mini_Coconut的博客,网址:https://www.cnblogs.com/mini-coconut/p/9066508.html 【004-Median of Two Sorted Arrays(两个排序数组的中位数)】 一、概念中位数:一组数据从小到大排列中间的那个数字。如果是偶数的话,就是中间两个数字相加除以2. 代码如下:package alg...原创 2018-11-08 10:44:20 · 301 阅读 · 0 评论 -
DFS
给定一棵二叉树,确定它是否是一个有效的二叉搜索树(BST)。BST的定义如下:节点的左子树只包含小于节点键的键节点。节点的右子树只包含大于节点键的键节点。左和右子树都必须是二叉搜索树。Example 1:Input: 2 / \ 1 3Output: trueExample 2: 5 / \ 1 4 / \...原创 2019-09-19 21:50:36 · 159 阅读 · 0 评论 -
[LeetCode] 753. Cracking the Safe
参考轻风舞动的博客,网址:https://www.cnblogs.com/lightwindy/p/9847632.htmlpackage algorithm;import java.util.HashSet;import java.util.Set;/**[LeetCode] 753. Cracking the Safe 破解密码You can keep inputti...原创 2019-09-19 23:29:07 · 234 阅读 · 0 评论 -
【032-Longest Valid Parentheses(最长有效括号)】
package algorithm;import java.util.Stack;/*【032-Longest Valid Parentheses(最长有效括号)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a string containing just the characters '(' and ')', find the leng...原创 2019-09-20 23:42:01 · 126 阅读 · 0 评论 -
三角形最大边长
package algorithm;import java.util.Arrays;//https://blog.csdn.net/hunt_er/article/details/78276565/*有n根棍子,棍子i的长度为ai。想要从中选出三根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形则输出0。*/public class Triangle ...原创 2019-09-23 13:33:03 · 666 阅读 · 0 评论 -
曼哈顿距离
package algorithm;import java.util.ArrayList;import java.util.List;//https://blog.csdn.net/CSDN_PatrickStar/article/details/84933887/*Problem:曼哈顿距离Description:在平面上,坐标(x1, y1)的点P1与坐标(x2, y2)的...原创 2019-09-24 23:56:26 · 926 阅读 · 0 评论 -
Divide Two Integers(两个整数相除)
//参考derrantcm的博客,网址:https://blog.csdn.net/DERRANTCM/article/details/47052683package algorithm;/**https://blog.csdn.net/DERRANTCM/article/details/47052683* 2个整数相除,不使用除法,乘法,取余原题 Divide two i...原创 2019-09-04 23:00:08 · 693 阅读 · 0 评论 -
KMP算法(【028-Implement strStr() (实现strStr()函数)】)
package algorithm;/** KMP算法* 字符串和模式串的匹配问题设主串(下文中我们称作S)为:BBC ABCDAB ABCDABCDABDE模式串(下文中我们称作P)为:ABCDABD* 1、暴力算法匹配* 如果s[i]!=p[j],则回溯 p[0],s则为i=i-j+1,移动一位。** 2、KMP算法i为遍历S,j为遍历P1、首先s...原创 2019-08-31 23:57:21 · 140 阅读 · 0 评论 -
StringBuffer替换空格
package algorithm;public class StringBufferTest { private static String replaceBf(StringBuffer bf) { // TODO Auto-generated method stub if(bf==null) return null; ...原创 2019-08-27 22:48:02 · 857 阅读 · 0 评论 -
容纳最多的水
引用derrantcm的博客,网址:https://blog.csdn.net/derrantcm/article/details/46951851 package algorithm;public class ContainMostWater {//参考derrantcm的博客,网址:https://blog.csdn.net/derrantcm/article/details/...转载 2019-01-22 23:03:36 · 223 阅读 · 0 评论 -
最长公共前缀
参考derrantcm的博客,网址:https://blog.csdn.net/DERRANTCM/article/details/46963385 package algorithm;//最长公共前缀public class LongestCommonPrefix {/* 原题 Write a function to find the longest comm...转载 2019-02-01 18:22:12 · 153 阅读 · 0 评论 -
正则表达式匹配(【Regular Expresssion Matching(正则表达式匹配)】)
参考Vosky的博客,网址:https://blog.csdn.net/hk2291976/article/details/51165010.匹配任意一个字符,*匹配0个或者多个前导字符 *匹配0个或多个前导字符,例如a*,*的前导为a,故0或者多个a,即空字符串、a、aa、aaa、aaa、aaaaa等等 package algorithm;import java.uti...转载 2019-01-09 15:09:43 · 448 阅读 · 0 评论 -
翻转整数
package algorithm;import org.junit.Test;//String to Integer (atoi) (字符串转成整数)/* *字符串转整数 *想所有的输入,算输出 * */public class StringToInt { public int atoi(String str){ try{ ...原创 2018-12-18 23:28:23 · 211 阅读 · 0 评论 -
Z字型转换
package algorithm;//Z字型转换/*The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibil...原创 2018-12-18 14:46:07 · 318 阅读 · 0 评论 -
回文数
package algorithm;//【009-Palindrome Number(回文数)】/*回文数,正读和反读一样负数不是回文数 */public class PalindromeNumber { //根据输入整数判断是否是回文数 public static boolean getPalindromeNumber(int input){ //...原创 2018-12-27 22:52:18 · 607 阅读 · 0 评论 -
最长回文串
package algorithm;/* *最长的回文子串 *概念:回文串:即正读和反读都一样的字符串,比如"level"、"noon"、aa、baab等等。其中aa长度为2也是回文串 * * 对于字符串str,假设dp[i,j]=1(表示为真),表示字符串str[i...j]是回文串, 那么必定dp[i+1,j-1]=1(表示为真)。此可分解为一系列的子问题,可以利用动态规划求解...原创 2018-12-06 16:45:06 · 140 阅读 · 0 评论