题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:递归和非递归两种。 递归很好理解:每次取list1,或者list2中的小的那个。 public ListNod…
标签:算法
字符串翻转(Java)
今天面试,面试官问了我一个这样的问题,比如ab..dd….scd…df这样一个字符串,把它翻转成df…scd….dd..ab,让我在稿纸上coding出来,当时思路极为混乱,现在coding出来以作记录。 import …
环形打印矩阵
问题: 环形打印矩阵,比如: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 从外到内循环打印。 分…
动态规划之揹包问题01——Java实现
public class BackPack { public static void main(String[] args) { int m = 10; int n = 3; int w[] = {3, 4, 5}; i…
最大公约数,最小公倍数。
# 最大公约数,最小公倍数 def yueshu(num, alist=None): """ 这个方法是核心 :param num: int :param alist: None :return: alist """ i…
常见排序算法实现
package sequence; import java.util.ArrayList; public class CommonSequence<T extends Comparable<T>>…
20!+19!+18!+……阶乘相加
观察 阶乘 20*19*18*17*……(用到递归) 阶乘相加:for循环 public class Test{ public long factorial(int number){ if(number == 1 ){ …
【剑指offer】两个栈实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 代码实现 package 两个栈实现一个队列; import java.util.Stack; public class S…
(PAT)害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大…
两个链表的第一个公共结点
问题:输入两个链表,找出他们的第一个公共结点 思考:链表的公共结点意味着该结点的value值以及next相同,则两个链表有相同的后缀。 两种方式:1.分别遍历两个链表,计算长度,计算链表差值,长链表先走差值个,短链…
剑指Offer【21-30】Java实现
21、输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列…
多重揹包
poj 1742 #include <iostream> #include <cstdio> #include <cstring> using namespace std; const…