遇见的算法题
Wonderfuldays_
快乐的程序员
展开
-
两道题目——凑14和压缩0和1组成的数组
1.实现一个函数 凑14 :输入很多个整数(1<=数值<=13)任意两个数相加等于14就可以从数组中删除这两个数,求剩余数(从小到大排列);比如输入{9,1,9,7,5,13 } 输出 {7,9}; 用两个指针变量一头一尾,同时遍历,可以避免访问重复数据,遇到相同的就将其下标保存在list中,最后通过数组和list进行去重复,然后返回最终结果。代码如下: ...原创 2018-10-07 23:21:36 · 514 阅读 · 0 评论 -
面试算法题——数字删除指定个数使结果
给定一个正整数,如果删除其中若干数字,怎么删除能保证剩下的数字组成最大,编程实现,不长于O(n),输入给定的正整数和要删除的数字个数5349 2 ==》 59思路: 先求这个数字的递减序列,然后删除递减序列的最后一个数,最后如果要求删除的个数还多了就删除当前删除之后序列从后开始删。这里我用栈来处理,原来数组中只要当前位比前一位要大就说明前面是递减序列最后一个,再判断是...原创 2018-10-18 16:10:09 · 677 阅读 · 0 评论 -
联机算法——求最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。联机算法:联机算法是在任意时刻算法对要操作的数据只读入(扫描)一次,一旦被读入并处理,它就不需要在被记忆了。而在此处理过程中算法能对它已经读入的数据...原创 2018-10-23 11:16:48 · 996 阅读 · 0 评论