随笔分类 -  剑指offier算法题

剑指offier算法题
摘要:【问题描述】 在Excel中,列的名称是这样一个递增序列:A、B、C、…、Z、AA、AB、AC、…、AZ、BA、BB、BC、…、BZ、CA、…、ZZ、AAA、AAB…。我们需要将上述列名序列和以下自然数序列相互转换:1、2、3、…。 【问题分析】 经过分析,我们不难发现,这是一个26进制和十进制相互 阅读全文
posted @ 2019-04-01 11:36 鹏鹏进阶 阅读(689) 评论(0) 推荐(0)
摘要:1.问题描述 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。 2.问题分析设f(n)表示青蛙跳上n级台阶的跳法数。当只有一个台阶时, 即n = 1时, 只有1中跳法; 当n = 2时,有两种跳法; 当n = 3 时,有3种跳法; 当n很大时,青蛙在 阅读全文
posted @ 2019-03-28 16:34 鹏鹏进阶 阅读(1100) 评论(0) 推荐(0)
摘要:输入一个链表,反转链表后,输出新链表的表头。 第一种用了四个指针,没有下一个简单 这个解发用了三个,比较好 阅读全文
posted @ 2018-11-30 02:38 鹏鹏进阶 阅读(180) 评论(0) 推荐(0)
摘要:package StackMin.ReverseList_offer16; public class ReverseKgroup_extend_offer16 { /** * 分组反转单链表,最后不足K个节点的部分也反转 * * @param head * @param k * @return */ publi... 阅读全文
posted @ 2018-10-29 19:28 鹏鹏进阶 阅读(532) 评论(0) 推荐(0)
摘要:输入一个链表,输出该链表中倒数第k个结点。 方法1: 这个解法要循环两次链表 方法2:快慢指针 可以参考单链表成环 https://www.cnblogs.com/chengpeng15/p/9868109.html 阅读全文
posted @ 2018-10-29 14:37 鹏鹏进阶 阅读(188) 评论(0) 推荐(0)
摘要:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 阅读全文
posted @ 2016-08-30 02:01 鹏鹏进阶 阅读(174) 评论(0) 推荐(0)
摘要:import java.util.Scanner; /* 前两种方法是看最低为是不是为1,不为1则向右移动。 第一种只能对正整数有效,对负数不行,因为负数用的是补码,最高外符号位为1,最后右移动,肯定会变成0xFFFFFFFFFF。。。。F*/ public class FindNmuberOf1 { public static void main(String[] args) {... 阅读全文
posted @ 2016-08-27 19:55 鹏鹏进阶 阅读(191) 评论(0) 推荐(0)
摘要:/* * 输入字母判断第几列 */ import java.util.Scanner; public class JudgeClumns { public static void main(String[] args) { Scanner str = new Scanner(System.in); while(str.hasNextLine()){ String Char... 阅读全文
posted @ 2016-08-27 02:15 鹏鹏进阶 阅读(130) 评论(0) 推荐(0)
摘要:1.插入元素进入队列时,将元素push到stack1中。当有元素出队列时,先将所有元素插入到stack2中,然后进行出栈。出栈结束后,再将剩余元素放回stack1中。这个算法不是最优的。接下来介绍一个从剑指offer中看到的一种算法。 2 入队列:直接将元素插入stack1中。 出队列:如果stac 阅读全文
posted @ 2016-08-26 02:41 鹏鹏进阶 阅读(196) 评论(0) 推荐(0)
摘要:输入一个链表,从尾到头打印链表每个节点的值。 但是 根据往常的经验 如果if里面有return了 就不要写else了 下面是递归调用 阅读全文
posted @ 2016-08-25 17:11 鹏鹏进阶 阅读(200) 评论(0) 推荐(0)
摘要:这个方法和上一个用for循环的都比较好,没有额外开辟空间,没有改变原来的str 阅读全文
posted @ 2016-08-24 01:39 鹏鹏进阶 阅读(305) 评论(0) 推荐(0)
摘要:package 剑指office; /* * 第三题二维数组查找 * 在一个二维数组中,每一行都按照从左到右递增的顺序排序, * 每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 */ public class FindArray { /* * 一种是: 把每一行看成有序递增的数组, 利用二分查找, 通过遍历每一行... 阅读全文
posted @ 2016-08-23 19:18 鹏鹏进阶 阅读(328) 评论(0) 推荐(0)