五山口老法师

仰望星空,脚踏实地!

动态规划:连续子数组的最大和

解答过程: 使用动态规划 F(i):以array[i]为末尾元素的子数组的和的最大值,子数组的元素的相对位置不变 F(i)=max(F(i-1)+array[i] , array[i]) res:所有子数组的和的最大值 res=max(res,F(i)) 如数组[6, -3, -2...

2019-03-26 17:17:27

阅读数 53

评论数 0

平安科技:传入一个只包含1-9的数字字符串,输出的是包含所有数字的最小整数

平安科技秋招笔试题: 传入一个只包含1-9的数字字符串,输出的是包含所有数字的最小整数。比如:输入“1992212”,输出129。 实例: 输入 1992212 输出 129 思路:使用关联容器,提取数字。将数字存入vector,再使用剑指offer上的思路,排列组合打印最小数字! ...

2018-10-11 10:41:22

阅读数 119

评论数 0

华为:给定一段英文,长度在100000个字符以内。要求统计出这段文章中,出现最多的英文字母。

华为2018秋招笔试题: 给定一段英文,长度在100000个字符以内。要求统计出这段文章中,出现最多的英文字母(不理会除英文字母之外的字符,大小写算作同一个字母),以及其出现的次数。本段文章不包含回车换行。如果两个或多个字母出现的次数一样多,那么仅输出排在最前面的一个字母和出现的次数。 1)大...

2018-09-26 21:32:13

阅读数 237

评论数 0

深信服:输入一个字符串,帮忙统计字符串里面的每个单词出现的次数,以及非法单词的次数。非法单词的定义为:包含数字(0-9)的单词

深信服2018秋招笔试题: 输入一个字符串,帮忙统计字符串里面的每个单词出现的次数,以及非法单词的次数。非法单词的定义为:包含数字(0-9)的单词 输入一个字符串,长度小于1000,输入的字符仅包含(0-9,a-z,A-Z, . , : ! )及空格。 输出按单词的字母进行排序,每行为 : ...

2018-09-22 09:47:56

阅读数 986

评论数 0

剑指offer:约瑟夫环的问题

什么是约瑟夫环问题? 约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。 例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。 首先A开始报数,他报1。侥幸逃过一劫。...

2018-09-21 14:38:51

阅读数 66

评论数 0

剑指offer:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,..,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]

给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。 不能使用除法(元素可能为0,除以0操作未定义) 思路: B[i]的值可以看作下图的矩阵中每行的乘积。 ...

2018-09-20 09:57:07

阅读数 292

评论数 0

剑指offer:数组中重复的数字

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 看到这一题,有两个思路! ...

2018-09-19 09:09:27

阅读数 47

评论数 0

剑指offer:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

要掌握加法运算的二进制原理 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终结果。 第三步:重复上述两步,只是相加的值变成上述两步的得到的结果2和10,得到12。 同样我们...

2018-09-18 16:13:42

阅读数 411

评论数 0

剑指offer:扑克牌的顺子问题

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....L...

2018-09-18 15:28:54

阅读数 53

评论数 0

剑指offer:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 思路...

2018-09-17 21:31:29

阅读数 80

评论数 0

双指针问题

在刷题的过程中,发现很多类型的题都使用了双指针的思想; 例如: 1)在求两个链表的第一个交叉点? 快慢指针 2)删除链表中连续重复的节点?双指针 3)求具有环的链表的入口点?快慢指针 4)求和为K的连续正序列的集合?双指针 后期做一个总结。...

2018-09-17 19:36:52

阅读数 35

评论数 0

剑指offer:输入一棵二叉树,判断该二叉树是否是平衡二叉树。

输入一棵二叉树,判断该二叉树是否是平衡二叉树。 //后续遍历二叉树,遍历过程中求子树高度,判断是否平衡 class Solution { public: bool IsBalanced(TreeNode *root, int & dep){ if...

2018-09-17 19:18:39

阅读数 144

评论数 0

剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

问题:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 通俗易懂的解释: 首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x *...

2018-09-14 17:01:46

阅读数 475

评论数 0

剑指offer:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1-...

2018-09-13 22:01:58

阅读数 100

评论数 0

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