![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
Lloaded%356
这个作者很懒,什么都没留下…
展开
-
剑指Offer 42. 连续子数组的最大和 python实现
# -*- coding:utf-8 -*-class Solution: def FindGreatestSumOfSubArray(self, array): if not array: return 0 if max(array) <= 0: return max(array) maxsum = 0 tmp = 0 for i in range(len(arr原创 2021-06-20 09:33:38 · 182 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点 C++实现
class Solution {public: ListNode* deleteNode(ListNode* head, int val) { ListNode* phead = head, * pre = head; if(phead->val == val) return head->next; while(phead){ if(phead->val == val){ pr原创 2021-06-14 09:54:22 · 143 阅读 · 2 评论 -
剑指 Offer 17. 打印从1到最大的n位数 C++实现
class Solution {public: vector<int> printNumbers(int n) { vector<int> v; int val = 1, x = 10; while(n){ if(n % 2) val *= x; x = x * x; n /= 2; } for(int i = 1; i &原创 2021-06-07 18:12:28 · 139 阅读 · 0 评论 -
剑指offer 55-I 二叉树的深度 Python实现
题目输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。输入给定二叉树 [3,9,20,null,null,15,7]输出最大深度 3 。解法1对树的中序遍历进行修改class Solution: def maxDepth(self, root: TreeNode) -> int: def dfs(root, depth): if not root:原创 2021-02-23 21:31:29 · 169 阅读 · 0 评论 -
剑指offer 字符流中第一个不重复的字符 python实现
题目在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)输入“google”输出4思路这道题网上常见的关于python的代码都是python2,故使用python3实现本质是建立哈希表,在python中使用字典,两次遍历,第一次遍历记录各个字符出现的次数,然后对字符串的下标进行遍历,找到第一个出现次数仅为1的字符解法# -*- coding:utf-8 -*-c原创 2021-02-18 10:48:21 · 190 阅读 · 0 评论 -
剑指offer 合并链表 Python实现
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): if not pHead1: return pHead2 if not pHead原创 2021-02-16 10:25:07 · 89 阅读 · 0 评论 -
剑指offer 斐波那契数列系列题目 Python实现
题目1大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39n\leq 39n≤39。解法使用递推法,把n为0、1、2的情况排除之后就可以按照公式计算,每次迭代用n的减小来控制循环次数。# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): if n == 0: return 0 # n为0的情况返回0原创 2021-02-09 14:51:10 · 128 阅读 · 2 评论 -
剑指offer 旋转数组的最小数字 Python实现
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。实例输入[3,4,5,1,2]输出1注意考虑特殊情况:如一个数列的数据都完全相同,或者一个数列是一直递增的。解法1# -*- coding:utf-8 -*-class Solution: def minNumberInRotateArray(self, rotateArray):原创 2021-02-05 11:32:24 · 108 阅读 · 0 评论 -
剑指offer 第二题 替换空格 C++版
题目请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。知识点:字符串处理(string类型变量的使用)解题思路本题使用string来简化增加长度为3的字符串的难度,用string类型的str2存储修改后的字符串,如果str[i]是空格,str2增加“%20”,否则str2增加上str...原创 2020-03-01 10:28:57 · 265 阅读 · 1 评论