面试中的算法
a
东方文艺复兴
嗨,你好!我是东方文艺复兴,一个满怀热情的程序员,疯狂热爱计算机科学,我对各种编程语言都有着浓厚的兴趣,从老牌的C、C++、Java,到新兴的Python、JavaScript,甚至包括那些呆萌的小众语言,我都非常感兴趣,所谓兴趣就是最好的老师!
我深信,编程不只是一门科学,它也是一种艺术,是一种可以让我们创造、进行思考、解决问题并帮助他人的魔法。我渴望用我的编程技术去帮助更多的人,用代码来解决实际问题,用软件来改变世界。
我的目标是,用我手中的键盘把这个世界敲得更加美好!!!
展开
-
如何求解金矿问题(动态规划算法)
参考:程序员小灰参考02:漫画:什么是动态规划?(整合版)package chapter5.part11;import org.junit.Test;public class GoldMiningTest { @Test public void testGoldMining() {// int w = 1;//最优收益为0; i=6// int ...原创 2019-06-15 23:46:41 · 845 阅读 · 0 评论 -
如何用栈实现队列?
参考:程序员小灰漫画:如何用栈实现队列?注意transfer()是将主栈A的元素全部转移到辅助栈B(备胎栈B)中。package chapter5.part7;import java.util.Stack;import org.junit.Test;public class StackToQueue { Stack<Integer> stackA =...原创 2019-06-10 00:54:34 · 609 阅读 · 0 评论 -
求无序数组排序后的最大相邻值
利用桶排序的思想,避免开辟大量无用的内存空间。参考资料:程序员小灰参考资料2:漫画算法:无序数组排序后的最大相邻差值相关代码:package chapter5.part6;public class MaxSortedDistanceTest { public static void main(String[] args) { int[] array = new i...原创 2019-06-09 17:13:06 · 371 阅读 · 0 评论 -
如何高性能地判断一个整数是否为2的整数次幂?
预备知识:按位与&的运算&是二进制“与”运算,参加运算的两个数的二进制按位进行运算,运算的规律是:0 & 0=00 & 1=01 & 0=01 & 1=1对于参加运算的数要换算为二进制进行运算,例如7 & 2的结果是2,过程如下:7 & 2=0111 & 0010=0010=2即 &:按...原创 2019-06-09 14:14:41 · 910 阅读 · 1 评论 -
如何实现大整数相加?
参考:程序员小灰参考02:漫画:如何实现大整数相加?(修订版)题目:给出两个很大的整数,要求实现程序求出两个整数之和?package chapter5.part10;import org.junit.Test;public class BigNumberSumTest { @Test public void testBigNumberSum() { ...原创 2019-06-14 15:05:17 · 393 阅读 · 0 评论 -
如何求最大公约数?
辗转相除法:又名欧几里得算法(Euclidean algorithm),目的是求出两个正整数的最大公约数。它是已知最古老的算法, 其可追溯至公元前300年前。(因为在2个整数之间来回相除,故称辗转相除)这条算法基于一个定理:两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于1...原创 2019-06-09 01:38:29 · 1467 阅读 · 0 评论 -
最小栈的实现
参考:程序员小灰参考2:漫画算法:最小栈的实现package chapter5.part3;import java.util.Stack;public class MinimumStack { private Stack<Integer> mainStack = new Stack<>(); private Stack<Integer>...原创 2019-06-08 20:52:48 · 194 阅读 · 1 评论 -
删去k个数字后的最小值
参考:程序员小灰题目来源:漫画:删去k个数字后的最小值substring() 方法返回字符串的子字符串。语法public String substring(int beginIndex)或public String substring(int beginIndex, int endIndex)参数beginIndex -- 起始索引(包括), 索引从 0 开始。e...原创 2019-06-14 01:36:29 · 517 阅读 · 0 评论 -
如何判断链表有环?
参考:程序员小灰参考2:漫画算法:如何判断链表有环?package chapter5.part2;public class LinkedListCycleTest { public static void main(String[] args) { Node node1 = new Node(5); Node node2 = new Node(3); Node n...原创 2019-06-07 23:11:48 · 231 阅读 · 0 评论 -
寻找全排列的下一个数
题目:给出一个正整数,找出这个整数所有数字全排列的下一个数。即在一个整数所包含数字的全部组合中,找到一个大于且仅大于原数的新整数。举例:输入12345,则返回12354。输入12354,则返回12453。输入12435,则返回12453。题目来源:程序员小灰package chapter5.part8;import java.awt.Font;import jav...原创 2019-06-12 22:51:32 · 421 阅读 · 0 评论