算法和数据结构
玄魂
专注可视化,图形图像,演示文档方向研发。微信订阅号:玄说前端
展开
-
面试题解:输入一个数A,找到大于A的一个最小数B,且B中不存在连续相等的两个数字
玄魂工作室秘书 [玄魂工作室] 昨天发的算法有一处情况没考虑到,比如加一后有进位,导致又出现重复数字的情况,修正后今天重新发一次。比如输入99,那B应该是101 因为100有两个连续相当的0。基本思路:最坏的办法 加1一直加1 直到找到有不重复的数为止。面试:这道题要是作为面试题的话,要跟面试官确认好,数A的范围,比如是否有小数是否有负数,等等。在这里我们把题确定为正数。 优化...原创 2018-08-27 14:55:10 · 605 阅读 · 0 评论 -
设计包含min函数的栈
题目:设计包含min函数的栈原创: 白话算法要求:定义一个栈的数据结构,要求添加一个min函数,使他能够找到栈的最小元素。要求是:函数min push pop的时间复杂度都是o(1) 写在前面:为什么会有写这样一个公众号的想法呢?我的工作的是测试开发,在工作中大多是写一些工程类的代码,对算法类的代码写的比较少,因为想提高算法的思路,同时又想保持写代码的基本能力,所以想到了写公众号的办...原创 2018-08-17 18:44:59 · 254 阅读 · 0 评论 -
Python算法与数据结构--求所有子数组的和的最大值
Python算法与数据结构–求所有子数组的和的最大值 玄魂工作室-玄魂 玄魂工作室秘书 玄魂工作室 昨天题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。这个题目有多个解法,比如可以用一个二维数组存之前每个数据的和,然后在进行大小比较;但是这样时间负责度...原创 2018-08-23 14:28:57 · 830 阅读 · 0 评论 -
Python算法和数据结构:在二叉树中找到和为sum的所有路径
玄魂工作室秘书 [玄魂工作室]思路:先用递归创建一颗二叉树,作为输入;然后对这课二查树进行递归遍历,递归中每遍历一个节点,下次递归的和为sum-data;并用一个数组记录遍历过的路径,当存在sum时,输出数组中的路径。下图为树的输入,输入的数组为:[10,5,4,None,3,None,None,7,None,None,12,None,None]没有子节点的用None表示...原创 2018-08-28 14:03:41 · 854 阅读 · 0 评论