自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 剑指offer(二)16-34

16.数值的整数次方 题目 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 思路 这道题思路比较简单,但是要考虑各种情况。因为题目没有指定整数的范围,整数可能是正数,0,负数。正数简单不用说。任何数的零次幂都是零。负数取绝对值求幂后取倒数。再考虑底数,如果底数是0也要单独计算。 测试...

2019-01-24 21:20:51 93

原创 剑指offer(一)4-15

4.二维数组中的查找 题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路 思维误区:不要从右下角的对角线开始比较,这样比较无法判断目标数字实际上位于该对角线数字的左侧还是上侧。 转变思维:从右上角对角线开始比较。若对角线数字比目标值大,则实际位置必然位于左侧,若对角线数字...

2019-01-23 21:57:19 75

原创 找出数组中的重复数字

问题 长度为n的数组中存放着n个数字,每个数字的范围都在0~n-1中。找出数组中的重复数字。 暴力法 1.标志数组 最容易想到的就是暴力方法,那么如何暴力破解呢,最容易想到的就是新建一个标志数组,扫描数组中每个元素,每扫到一个元素,就将标志数组中该索引的值置为1,于是流程就变成先检查对应的标志是否为1,若已经为1了,就找到重复数字 2.哈希表 利用哈希表,送头到尾扫描数组,当你扫描到一个数字的时候...

2019-01-22 20:38:43 237

原创 LeetCode 25.Reverse Nodes in k-Group

题目 Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k is a positive integer and is less than or equal to the length of the linked list. ...

2019-01-19 10:47:57 73

原创 LeetCode 24.Swap Nodes in Pairs

题目 这道题的思路显而易见,有成对的节点就交换成对的节点,如果余下一个节点或者没有余下节点则直接返回即可。 思路 首先判断极端情况,若为空链表,则直接返回本身,若链表只有一个节点,则直接返回本身。考虑节点的数量大于等于2的情况,首先确定临时变量的个数,交换两个节点需要三个变量,然后一个变量记录头结点,这一点很重要,新建头结点有至少两点好处,一是头结点方便以后交换节点位置,遍历等。二是将头结点的值固...

2019-01-19 10:47:05 89

原创 LeetCode 19.Remove Nth Node From End of List

题目 在链表中删除倒数第n个节点,尽量考虑一边遍历。 思路 首先要注意的是删除节点必须有个指针指向他的前一个节点,然后考虑最为简单的思路是先数一遍一共有多少个节点,然后算出倒数第n个节点是正数第几个节点,然后遍历一边删除它,一共要进行两次遍历。若只进行一次遍历,考虑同时移动两个指针,若要删除第n个节点,指针之间要相隔n个节点的距离(例如删除倒数第四个节点,则一个指针指向倒数第一个节点,一个指针指向...

2019-01-19 10:46:20 74

原创 LeetCode 21.Merge Two Sorted Lists

题目 合并两个有序链表,返回一个新链表,新链表应当由两个链表拼接而成。 思路 首先要有思路,两个指针指向链表,然后比较两个节点的值,将小的一个放进结果链表中,该链表的指针后移一位。然后继续比较两个节点的值。 这里我犯了一个错误,错误的思路:我比较完两个节点的值,同时将两个节点插入了结果链表并且指针同时后移,典型的弱智思路。 考虑两个链表不同长度,比较完后,一个指针指向空,一个指向链表上的某个节点,...

2019-01-19 10:45:18 81

原创 LeetCode 2.add two numbers

题目 两个非空链表代表两个非负实数,每一位按照倒序存储在链表的每个节点中,把两个数相加把结果作为链表返回。 思路 首先题目给了链表节点的数据结构,直接拿来用就行。 首先建立一个结果链表,先建立一个0节点当做表头。加法规则为对应的位相加,有进位加进位,和大于10进一位,小于10不进位。于是需要两个指针分别指示要进行加法的位,一个指针指示结果链表的位置。然后一个变量存进位。 然后开始进入循环,循环的判...

2019-01-19 10:44:44 91

原创 LeetCode 1.two sum

要求 给定一个整数数组,一个target,要求在数组里查找两个数相加等于target,返回下标。 思路 首先最容易想到的肯定是暴力破解,当然这么做毫无意义,暴力破解的复杂度为O(n2),因此允许的时间复杂度肯定要低于这个复杂度,因此复杂度至少要降到O(n),首先,任何解法的最坏情况肯定要遍历数组中的每一个数这一点毫无疑问,那么复杂度已经是O(n)了,那么在便利的时候用target减去当前遍历到的数...

2019-01-19 10:42:27 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除