python
jiao_xd17
这个作者很懒,什么都没留下…
展开
-
面试手撕代码-leetcode2两数相加-python
面试手写代码!给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -...原创 2019-08-21 16:59:41 · 213 阅读 · 0 评论 -
将单向链表按某值划分成左边小、 中间相等、 右边大的形式-python3
基础解:荷兰国旗问题(笔试时可用,简单直接,但不稳定) 将所有的节点遍历得到链表的长度,再遍历一次将所有节点放置到一个数组中,对这个数组进行partition调整(荷兰国旗问题),再将每个数组中每个节点串起来即可。进阶解:按照原链表各个节点的对应顺序将链表调整成三部分,小于num的、等于num的,大于num的,之后再将三个连起来即可。代码如下:#coding=u...原创 2019-01-02 21:54:26 · 572 阅读 · 0 评论 -
打印两个有序链表的公共部分-python3
类似于堆排序的merge过程实例化出两个链表(s1, s2),比较连个链表当前元素的大小,谁小谁执行next()方法继续比较,当出现相当的时候把相等的值塞入数组$common里或者直接打印,当两个链表有一个元素比较完了,全部结束。代码如下:#coding=utf-8'''打印两个有序链表的公共部分【 题目】 给定两个有序链表的头指针head1和head2, 打印两个链表的...原创 2019-01-02 21:11:30 · 584 阅读 · 0 评论 -
在行列都排好序的矩阵中找数-python3
分析:从右上角的数开始寻找 右上角比k小,说明k不可能在第一行了,看下面的行 右上角比k大,说明k不可能在最后一列,看左边的列代码如下:#coding=utf-8'''在行列都排好序的矩阵中找数【 题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一列都是排好序的。实现一个函数,判断K是否在matrix中。 例如: 0 1 2 5 ...原创 2019-01-02 21:07:50 · 451 阅读 · 0 评论 -
“之” 字形打印矩阵-python3
该问题要先打印指定的一条斜线。由于之字形打印是上下来回交替着打印,所以要定义一个bool变量来指示打印的方向。代码如下:#coding=utf-8'''“之” 字形打印矩阵【 题目】 给定一个矩阵matrix, 按照“之” 字形的方式打印这个矩阵, 例如: 1 2 3 4 5 6 7 8 9 10 11 12“之...原创 2019-01-02 21:04:27 · 995 阅读 · 0 评论 -
顺时针旋转正方形矩阵90度---python3
题目:代码如下:#coding=utf-8from numpy import *import numpy as npdef rotate(matrix): a,b=0,0 c,d=matrix.shape[0]-1,matrix.shape[1]-1 while (a < c): rotateEdge(matrix, a, b, c, ...原创 2018-12-18 11:43:27 · 1433 阅读 · 0 评论 -
猫狗队列问题-python3
* 猫狗队列 : * 用户可以调用add方法将cat类或dog类的 实例放入队列中; * 用户可以调用pollAll方法,将队列中所有的实例按照进队列 的先后顺序依次弹出; * 用户可以调用pollDog方法,将队列中dog类的实例按照 进队列的先后顺序依次弹出; * 用户可以调用pollCat方法,将队列中cat类的实 例按照进队列的先后顺序依次弹出; * 用户可以调用isEmpt...原创 2018-12-18 10:20:38 · 508 阅读 · 0 评论 -
设计一个有getMin功能的栈-python3
【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】 1、 pop、push、getMin操作的时间复杂度都是O(1)。 2.、设计的栈类型可以使用现成的栈结构【解题思路】 方法一:首先想到的是,获取栈中的元素时肯定需要遍历栈中的元素,那时间复杂度就是O(N),不符合题目要求的O(1)。此时考虑用两个栈保持O(1)的复杂度,栈...原创 2018-12-13 10:16:18 · 244 阅读 · 0 评论 -
面试手撕代码-k-means算法
要求:随机生成x,y均在[0,10]范围内的10个点,k=2,训练一个简单的k-means模型。K均值算法步骤如下:1.在训练样本点中随机初始化[0,10]范围内的k个样本点作为k个簇各自的中心;2.遍历一遍所有样本点,将每一个样本点分配到最近的簇中心,得到clusterDict。clusterDict的键为centroidList的下标,键值为属于该类的所有样本点。3.计算第...原创 2019-08-21 20:01:01 · 1581 阅读 · 0 评论