![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Structure and Algorithms
夏天707
这个作者很懒,什么都没留下…
展开
-
Leetcode 332 零钱兑换 详解 Java
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你...原创 2020-03-08 11:21:51 · 398 阅读 · 1 评论 -
leetcode dfs专题
每次遇到dfs,回溯这些就不会做,刷了几道题之后大概能总结出模板,后续有更多套路再补充。public List<String> function(String s){ List<String> res = new ArrayList<String>(); dfs(res,strat,temp);}public void dfs(Lis...原创 2020-03-05 09:44:50 · 184 阅读 · 0 评论 -
剑指offer-简单青蛙跳-变态青蛙跳
简单青蛙跳:题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路链接:https://www.nowcoder.com/questionTerminal/8c82a5b80378478f9484d87d1c5f12a4来源:牛客网对于本题,前提只有 一次 1阶或者2阶的跳法。a.如果两种跳法...转载 2019-03-31 21:07:27 · 115 阅读 · 0 评论 -
《程序员面试金典》-1.8 字符串旋转与子串-Java
题目: 1.8 假定有一个方法isSubstring,可检查一个单词是否为其他字符串的子串。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次isSubstring。 比如,waterbottle是erbottlewat旋转后的字符串。解题思路:如何判断s2为s1旋转得到?若s2为s1旋转得到,则必定有一个旋转点使得s2=s12+s11;则将s1复...翻译 2019-02-18 21:16:51 · 157 阅读 · 0 评论 -
《程序员面试金典》-1.7 矩阵中0元素所在行列全部元素替换为0-Java
题目:1.7 编写一个算法,若M*N矩阵中某个元素为0,则将其所在的行与列清零。代码:/* * 1.7 编写一个算法,若M*N矩阵中某个元素为0,则将其所在的行与列清零。 */package mainshijindian;public class MatrixToZero { public static void main(String[] args) { // T...翻译 2019-02-18 20:58:29 · 408 阅读 · 1 评论 -
《程序员面试金典》1.6矩阵旋转-Java
题目: * 1.6给定一幅由N*N矩阵表示的图像,其中每个像素大小为4字节,编写一个方法,将图像旋转90度。不占用额外内存空间能否做到?代码:/* * 1.6给定一幅由N*N矩阵表示的图像,其中每个像素大小为4字节,编写一个方法,将图像旋转90度。 * 不占用额外内存空间能否做到? */package mainshijindian;public class Imag...翻译 2019-02-18 20:31:40 · 121 阅读 · 0 评论 -
《程序员面试金典》1.5字符串压缩-Java
题目: 1.5 利用字符串重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若压缩后的字符串没有变短,则返回原先的字符串。代码:/* * 1.5利用字符串重复出现的次数,编写一个方法,实现基本的字符串压缩功能。 * 比如,字符串aabcccccaaa会变为a2b1c5a3。若压缩后的字符串没有变短,则返回原...原创 2019-02-18 17:46:54 · 136 阅读 · 0 评论 -
《程序员面试金典》1.4 字符串替换-Java
题目: 1.4 编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)代码:/* * 1.4 编写一个方法,将字符串中的空格全部替换为“%20”.假定该字符尾部有足够的空间存放新增字符, * 并且知道字符串的“真实”长度。 * (注:...原创 2019-02-18 16:38:28 · 136 阅读 · 0 评论 -
《程序员面试金典》1.3 字符串排序与字符串比较。-Java
题目:1.3 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。代码:/* * 1.3 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 */package mainshijindian;import java.util.Scanner;import event_test.newCoder_1;...翻译 2019-02-18 15:54:03 · 140 阅读 · 0 评论 -
《程序员面试金典》-1.1判断字符串中是否有重复字符-Java
1.1 实现一个算法,确定一个字符串的所有字符是否全都不同。假使不允许使用额外的数据结构,又该如何处理?package mainshijindian;import java.util.Scanner;import event_test.newCoder_1;public class isUniqueChars2 { public static void main(String...翻译 2019-02-18 15:39:26 · 147 阅读 · 0 评论 -
Java-求一个整数各位数之和
功能:求一个整数各位数之和输入:一个整数,如999、888、100、等输出:该整数各位数之和,如999各位之和为27思路分析:主要思路:也就是求商和余数的算法,不断整除10求余数。步骤:假设输入数字为a=999;设两个数:m和n,n为该数的个位数,m为该数整除10的商。首先求个位数的数字:n = a%10=9;然后把这个数现在变成a=a-n;没有个位数了。降...原创 2018-12-08 10:36:35 · 12461 阅读 · 4 评论