杂题分享
平时见到的 觉得好玩有趣的 或者是有新发现的算法题
小纸人人
小纸人的算法学习之路,不定期的分享一些有趣的算法题目!
展开
-
杂题分享--部分翻转字符串
* 描述: * 给定一个字符串str和长度leftsize, * 请把str左侧leftsize的部分和右部分做整体交换。要求额外空间复杂度O(1)。 * 例如: * 输入: abcde 3 * 输出: deabc * 输入: abcdefgh 5 * 输出: fghabcde解法一:(10W人中99000人都会的解法) 应用左神一句话,大家都会得东西,你拿出来毫无意义,拿什么凸显自己,人家凭啥要你。分三次翻转 先翻转前 leftsize个 在翻转其它的 最后整体翻转 ..原创 2020-06-12 01:36:07 · 340 阅读 · 0 评论 -
两个数组相加
输入:123123输出:456输入:99输出:18public class Main { public int[] add(int[] a, int[] b) { if (a.length == b.length) { for (int i = a.length - 1; i > 0; i--) { ...原创 2019-09-12 19:35:37 · 5467 阅读 · 0 评论 -
判断是否可以累加出结果
* 给定一个数组 让你判断这个数组中的数是否可以累加出所求的结果 * 例: * int[] arr = {3, 2, 5, 6, 9}; int aim = 15; * return true; * * @author 小纸人 * */public class CanSum { public static boolean isSum(int[] arr, int i, ...原创 2019-04-07 12:16:44 · 212 阅读 · 0 评论 -
切金条_哈夫曼编码
import java.util.ArrayList;import java.util.Comparator;import java.util.List;/** * 一块金条切成两半,是需要花费和长度数值一样的铜板的。 * 比如长度为20的 金条,不管切成长度多大的两半,都要花费20个铜板。 * 一群人想整分整块金 条,怎么分最省铜板? * * 例如,给定数组{10,20,30...原创 2019-04-04 13:07:13 · 203 阅读 · 0 评论 -
孤岛问题,数旗子问题,超简单递归
/** * 一个矩阵中只有0和1两种值, * 每个位置都可以和自己的上、下、左、右四个位置相连, * 如果有一片1连在一起,这个部分叫做一个岛, * 求一个矩阵中有多少个孤岛。 * * 或者说让你数一下 棋盘上有几堆棋子 *例: {0,0,1,0,1,0} {1,1,1,0,1,0} {1,0,0,1,0,0} {0,0,0,0,0,0} * * 应该输出 3 有三...原创 2019-04-03 17:56:47 · 450 阅读 · 0 评论