
常用基本算法
在面试和日常解决问题常用的算法题
GGSTU
good good study
day day up
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
互联网笔试经典算法——机器跳跃问题(字节跳动真题)
机器人正在玩一个古老的基于DOS的游戏。游戏中有N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为i的建筑的高度为H(i)个单位。起初, 机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E, 下一步它将跳到第个k+1建筑。 它将会得到或者失去正比于与H(k+1)与E之差的能量。如果 H(k+1) > E 那么...原创 2019-09-20 09:18:55 · 865 阅读 · 0 评论 -
程序员笔试经典题型——货币系统问题
Z国的货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小Y使用1024元的纸币购买了一件价值为N (0 < N \le 1024)N(0<N≤1024)的商品,请问最少他会收到多少硬币?分析:因为需要硬币的面值不一样大,而且硬币肯定是越少越好的,我们可以通过除余的方式来从大到小换取硬币。用1024减去购买商品需要花费的钱。用剩下的钱对硬币...原创 2019-09-19 16:59:56 · 1866 阅读 · 0 评论 -
经典算法题:一个非空整数数组,选择其中的两个位置,使得两个位置之间的数和最大。 如果最大的和为正数,则输出这个数;如果最大的和为负数或0,则输出0
一个非空整数数组,选择其中的两个位置,使得两个位置之间的数和最大。 如果最大的和为正数,则输出这个数;如果最大的和为负数或0,则输出0 。方法一:使用for循环动态规划完成import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * 一个非空整数数组...原创 2019-09-18 22:02:15 · 712 阅读 · 0 评论 -
堆排序——面试经典算法
概述:堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。使用参数计算:父节点个数=(数组的长度-1)/2父节点的索引:父节点的个数 =>1子节点的索引:①左儿子:2*父节点索引 ②右儿子:左儿子索引+1步骤:1. 把堆中最大值放到堆节点上(从后往前...原创 2019-09-18 16:56:33 · 577 阅读 · 0 评论 -
快速排序——面试经典算法题
1. 写一个快速排序的方法方法里形参分别为需要进行排序的数组、数组起始位置、数组结束位置。static void fastsort(int[] arr,int start,int end)1.1 先进行判断最左端和最右端是否满足条件 if (start>end) { return; }`1.2 定义变量来接收参数值 int base = arr[...原创 2019-09-18 16:37:44 · 710 阅读 · 0 评论