摘要: 题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None 阅读全文
posted @ 2020-05-20 16:39 Roronoa-Zoro 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:我们可以使用加法使用,不断递归即可 # -*- coding:utf-8 -*- class Solution: def Sum_Solution(s 阅读全文
posted @ 2020-05-20 11:41 Roronoa-Zoro 阅读(2824) 评论(0) 推荐(0) 编辑
摘要: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:可以使用sum(),它可以对一个数组内部所有元素求和 # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): # write code h 阅读全文
posted @ 2020-05-20 11:34 Roronoa-Zoro 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6, 阅读全文
posted @ 2020-05-20 10:29 Roronoa-Zoro 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路:既然是存在环,我们去循环遍历的时候,肯定能够再次读取到入口节点,我们根据这一点来写 代码如下: # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, 阅读全文
posted @ 2020-05-20 09:18 Roronoa-Zoro 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 思路:之前我们要循环,不断改变区间来求中间元素位置来实现目标,现在我们使用递归的思想来解决这个 当数组为空,我们应该返回false,其它情况,进入主要部分 当中间元素为查找值时,直接返回true 当中间元素大于查找值时,我们让alist[:n]进入递归 当中间元素小于查找值时,我们让alist[n+ 阅读全文
posted @ 2020-05-19 16:06 Roronoa-Zoro 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 思路:二分查找仅仅适应于有序的数组,数组内部元素要是排好序的,整个过程就是不断跟中间元素进行比较,等于直接输出true,大于中间元素的话,说明可能在左边,我们可以将左边看成一个新数组,再找中间元素进行比较;不断循环进行。当一开始,找的数大于中间元素,我们把右边看成一部分,重新找中间元素进行比较,不断 阅读全文
posted @ 2020-05-19 15:48 Roronoa-Zoro 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 思路,将一个数组不断拆分,拆到一个元素之后,倒过来一步步排好序,获得新的数组 [55,23,66,905,56,85,356,30,57,34,832,230] left=[55,23,66,905,56,85] right=[356,30,57,34,832,230] left可以看成一个新数组, 阅读全文
posted @ 2020-05-18 17:43 Roronoa-Zoro 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 思路:我们新建一个字典,我们循环 阅读全文
posted @ 2020-05-18 11:43 Roronoa-Zoro 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 快速排序思路:将元素一个个找到他们在队列中的位置 我们可以用一个中间变量a保存第一个元素,一开始,从最后一个元素与中国元素进行比较,如果大于a的值,我们将high向左移动一下,如果小于a,我们将a[low]=a[high],a再与比较右边的元素比较,如果小于,我们将low向右移动一格,如果大于a,说 阅读全文
posted @ 2020-05-17 20:11 Roronoa-Zoro 阅读(149) 评论(0) 推荐(0) 编辑