
python
心之所向丶7
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 16. 数值的整数次方 - python
剑指 Offer 16. 数值的整数次方 python实现描述实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25来源:力扣(Lee原创 2020-12-04 16:20:51 · 254 阅读 · 0 评论 -
剑指 Offer 13. 机器人的运动范围 - python
剑指 Offer 13. 机器人的运动范围介绍地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?来源:力扣(LeetCode)链接:https:/原创 2020-12-02 11:57:49 · 292 阅读 · 0 评论 -
房产行业聊天问答匹配 -pytorch方案
房产行业聊天问答匹配竞赛地址:https://www.datafountain.cn/competitions/474问题描述方案首先将该问题归结为NLP中的NSP任务(预测下一个句子),然后采用目前较为先进的基于chinese预训练的bert系的相关算法。在transformer库中这些算法的使用方式变得更为简单便捷,所以我们使用pytorch + transformer进行建模代码详细代码可见https://github.com/1JasonZhang/Q-A-matching-of-r原创 2020-11-17 10:08:45 · 837 阅读 · 0 评论 -
顺时针打印矩阵 python
剑指 Offer 29. 顺时针打印矩阵题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]思路根据题目实例描述,题意为将矩阵中的元素按顺时针打印出来,方向为左->右, 上-原创 2020-11-03 19:38:20 · 783 阅读 · 0 评论 -
leetcode 56. 合并区间 python
问题给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: intervals = [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。来源:力扣(LeetCode)链接:https://...原创 2020-10-23 15:50:03 · 251 阅读 · 0 评论 -
剑指 Offer 07. 重建二叉树 - python
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:首先通过先序遍历序列可以得到树的根节点,然后在中序序列中找到根节点的位置,则以根节点为界限,向左到0,为左子树,向右到len() - 1 位右子树,然...原创 2020-10-12 13:50:10 · 497 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表 - python
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000l1为链表1,l2为链表2思路:首先定义一个辅助链表来组成结果链表,然后从头开始遍历两个链表,比较两个链表的每个节点,将有序节点插入辅助链表中,当两个链表中某一个遍历完之后跳出迭代,另一链表剩余的节点都大于辅助链表中的节点,原创 2020-10-09 14:59:20 · 175 阅读 · 0 评论 -
257. 二叉树的所有路径 - python
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言二叉树为程序员面试的常见问题,本文将对leetcode中257二叉树的所有路径进行讲解。提示:以下是本篇文章正文内容,下面案例可供参考一、问题给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3...原创 2020-09-04 14:04:34 · 491 阅读 · 0 评论 -
对称的二叉树- 基于python
剑指 Offer 28. 对称的二叉树问题描述请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false思路看到这个题目首先想到了使用中序遍历,遍历整个二原创 2020-09-02 11:38:08 · 319 阅读 · 0 评论 -
从上到下打印二叉树-基于python
从上到下打印二叉树通过,剑指 Offer 32 - I. 从上到下打印二叉树, 剑指 Offer 32 - II. 从上到下打印二叉树 II,整理广度优先BFS方法。剑指 Offer 32 - I从上到下打印二叉树从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],返回:[3,9,20,15,7]思路:可以使用层次遍历方法,利用bfs广度优先遍历的方法进行遍历,然后保存到list中,广度优先遍历借原创 2020-09-01 14:04:52 · 639 阅读 · 0 评论 -
jupyter notebook下配置多kernel
首先创建新虚拟环境conda create -n new_env python=3.7.3然后激活虚拟环境,linux下加source,windows下直接activate new_envsource activate new_env在虚拟环境中安装nb_conda,和ipykernel,ipykernel会自动配置kernelconda install nb_condapip install ipykernel最后将kernel信息写入jupyter启动项中,--nam原创 2020-07-29 17:59:45 · 233 阅读 · 0 评论 -
剑指 Offer 58 - I. 翻转单词顺序 - python
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出:"blue is sky the"示例 2:输入: " hello world! "输出:"world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "...原创 2020-07-17 11:41:03 · 301 阅读 · 0 评论 -
剑指 Offer 57 - II. 和为s的连续正数序列 - python
输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]来源:力扣(LeetCode)思路:采用滑动窗口方法,设置左右边界来限制窗口大小,left,right双边界也就是双指针,1.边界如何移动,初始化..原创 2020-07-15 14:38:37 · 209 阅读 · 0 评论 -
两数之和 - 基于python
1. 两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法思路:首先想到的是利用双循环暴力搜索的解法,其时间复杂度为O(n^2),复杂度偏高。数组类问题降低时...原创 2020-05-26 21:49:43 · 228 阅读 · 0 评论 -
剑指offer面试题52. 两个链表的第一个公共节点 - 基于python
输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为.原创 2020-05-11 13:43:28 · 318 阅读 · 1 评论 -
14.不修改数组找出重复的数字 - 基于python
给定一个长度为n+1n+1的数组nums,数组中所有的数均在1∼n1∼n的范围内,其中n≥1n≥1。请找出数组中任意一个重复的数,但不能修改输入的数组。样例给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 3。思考题:如果只能使用O(1)O(1)的额外空间,该怎么做呢?算法(分治,抽屉原理) O(nlogn)O(nlog...原创 2020-01-06 00:05:10 · 420 阅读 · 0 评论 -
python中*args和**kwargs详解
*args和**kwargs主要用于函数定义,其可以将不定数量的参数传递给一个函数。不定数量指的是预先不知道函数使用者会传递多少个参数给你,所有在这个场景下使用这两个关键字。*args是用来传递一个非键值对的可变数量的参数列表给函数。例子:def test_var_args(f_arg, *argv): print("first normal arg:", f_arg...原创 2019-10-12 17:58:53 · 305 阅读 · 0 评论 -
树的子结构 - 基于python
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:首先第一步在二叉树A中查找与B根节点R的值一样的节点,通常可以采用递归的方式来遍历整棵树第二步判断A中以R为根节点的子树的结构是否与B相同,这里也可以采用递归的方法,判断R的值是否与B树中根节点值是否相同,若不同则则不具有相同节点,如果相同则开始比较各自的左右节点是否相同,递归的...原创 2019-07-03 11:10:34 · 316 阅读 · 0 评论 -
合并排序链表 - 基于python
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路分析:首先要确定合并后链表的头结点,比较两个l1,l2链表的头结点小的哪一个作为新链表的头结点然后开始合并链表,比较l1,l2下一个节点的大小,小的哪一个作为新链表的下一个节点。这里要遍历其中一个链表如果l1,l2长度不同,遍历时要判断是否为空,若为空则跳出遍历。跳出遍历时l...原创 2019-07-02 10:52:51 · 486 阅读 · 0 评论 -
反转链表(迭代)-基于python
题目描述输入一个链表,反转链表后,输出新链表的表头。反转链表是面试的基础题,掌握是很有必要的。我们采用迭代思想进行链表反转首先我们定义三个指针,分别表示前一个节点pre,当前节点cur,中间节点temp每次循环时使得当前节点指向前一节点,然后节点后移进行下一反转。# -*- coding:utf-8 -*-# class ListNode:# def __in...原创 2019-07-02 10:09:04 · 358 阅读 · 0 评论 -
leetcode 旋转链表 python
给定一个链表,旋转链表,将链表每个节点向右移动k个位置,其中k是非负数。示例1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->...原创 2019-04-20 21:27:15 · 168 阅读 · 0 评论