摘要: 面试19题: 题目:正则表达式匹配 题:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是 阅读全文
posted @ 2018-06-18 22:20 Fintech带你飞 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: 面试20题: 题目:表示数值的字符串 题:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 解题思路 阅读全文
posted @ 2018-06-18 21:22 Fintech带你飞 阅读(985) 评论(0) 推荐(0) 编辑
摘要: 面试21题: 题目:调整数组的顺序使奇数位于偶数前面 题一:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 解题思路:使用两个指针,第一个指针初始化指向数组的第一个数字,从前向后移动,遇到偶数就停下来;第二个指针指向数组的最后一个 阅读全文
posted @ 2018-06-18 20:31 Fintech带你飞 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: 面试18题: 题目:删除链表中的节点 题一:在O(1)时间内删除链表节点。给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。 解题思路:我们要删除节点i,先把i的下一个节点j的内容复制到i,然后把i的指针指向节点j的下一个节点。此时再删除节点j,其效果等同于把节点i删除了。 阅读全文
posted @ 2018-06-18 19:25 Fintech带你飞 阅读(1367) 评论(0) 推荐(0) 编辑
摘要: 面试17题: 题目:打印从1到最大的n位数 题:输入数字n,按顺序打印出从1到最大的n位十进制数,比如输入3,则打印出1、2、3一直到最大的3位数999. 解题思路:需要考虑大数问题,这是题目设置的陷阱。可以把问题转换成数字排列问题,用递归让代码更简洁。 参见剑指offer P114 解题代码: 阅读全文
posted @ 2018-06-18 16:21 Fintech带你飞 阅读(1367) 评论(0) 推荐(0) 编辑
摘要: 面试16题: 题目:数值的整数次方 题:实现函数double Power(double base, int exponent),求base的exponent次方、不得使用库函数,同时不需要考虑大数问题。 解题思路:主题考虑底数为0.0,指数为负数的情况,此时可以利用全局变量指出g_InvalidIn 阅读全文
posted @ 2018-06-18 11:34 Fintech带你飞 阅读(1254) 评论(0) 推荐(0) 编辑
摘要: 面试14题: 题目:剪绳子 题:给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,且n>1,m>1),每段绳子的长度记为k[0],k[1],k[2],...,k[m]。请问k[0]*k[1]*...*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三 阅读全文
posted @ 2018-06-18 10:35 Fintech带你飞 阅读(1330) 评论(0) 推荐(0) 编辑
摘要: 面试15题: 题目:二进制中1的个数 题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解题思路一: 最佳方法:把一个整数减去1,再和原整数做“与运算”,会把该整数最右边的1变成0。那么一个整数的二进制中表示中有多少个1,就可以进行多少次这样的操作。 解题代码: 注意:如果该整数 阅读全文
posted @ 2018-06-18 10:01 Fintech带你飞 阅读(1242) 评论(0) 推荐(0) 编辑