摘要:
2.2 不要被阶乘吓倒 基本问题 1 给定一个正整数N,那么N的阶乘N! 末尾有多少个0呢? 在介绍解法之前,先介绍质因数分解 - 合数:合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。 - 质数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 阅读全文
摘要:
2.1 求二进制中1的个数 基础问题 对一个字节的变量,求其二进制表示中1的个数,要求算法的执行效率尽可能的高 // 求二进制中1的个数 // 对一个字节的变量,求其二进制表示中1的个数,要求算法的执行效率尽可能的高 class Test{ public static void main(Strin 阅读全文
摘要:
3.4 从无头链表中删除节点 基础问题 假设有一个没有头指针的单链表,一个指针指向中间的一个节点,不是第一个节点,也不是最后一个节点,删除该节点 扩展问题 给你一个链表,只遍历一次,在原地翻转链表 class Test{ public static class ListNode{ int val; 阅读全文
摘要:
3.3 计算字符串的相似度 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 解法1 采用递归的方法进行计算 思想分析:重点是转化成为子问题的过程 s1[1,1 阅读全文
摘要:
一摞烙饼的排序 基本问题 假设有n块大小不一样的烙饼,那么最少要翻动几次,才能达到最终有序的结果。 思路:每次找到最大的然后从将最大的以及最大的上面的反转,这时候最大的在最上面,然后将整个反转,最大的就在最下面了。然后再对除了最下面的n-1个烙饼进行上述的操作,知道全部的烙饼有序。 例如:13524 阅读全文
摘要:
3.2 电话号码对应的英语单词 3.2.1 从字母组合中找到一个有意义的单词来表述一个电话号码,例如"computer" --> 26678837 利用递归进行 dfs+剪枝 import java.util.*; import java.util.Set.*; class Test{ public 阅读全文