![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一练
shiki99
无经验,刚开始学习的新人
展开
-
【力扣797】所有可能的路径
好几个月没有刷过力扣了,心里十分有罪恶感。题目:给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)这道题其实是有向无环图的遍历问题,直接可以判断有dfs和bfs两种解法这道题graph[i][j]代表的是i结点指向j结点。使用bfs:class Solution: def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:原创 2021-08-25 23:50:03 · 160 阅读 · 0 评论 -
每日一练——克隆图
给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; public List<Node> neighbors;} 提示:节点数不超过 100 。每个节点值 Node.val 都是唯一的,1 <= Node.val <= 100。无向图是一个简单图,这意味着图中没有重复的边,也没有自环。由于图是原创 2021-02-02 00:20:59 · 91 阅读 · 0 评论 -
每日一练-最长连续递增序列
最长连续递增序列问题:给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。示例 1:输入:nums = [1,3,5,4,7]输出:3解释:最长连续递增序列是 [1,3原创 2021-01-25 00:34:51 · 229 阅读 · 0 评论 -
每日一练——整数反转、括号生成
整数反转:要求:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。方法很简单,但是要注意不要忽略负数的输入。法一:python取巧的写法,将整形转换成字符串,利用字符串切片操作轻松实现反向。 def reverse(self, x: int) -> int: str_x = str(abs(x))原创 2020-12-12 23:29:40 · 289 阅读 · 0 评论 -
每日一练——Z 字形变换(python)
问题描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数。思路1:看到题目的第一时间,想到要使用二维数组来存储最终排列的形状。那么,首先要确定二维数组的行数与列数。很明显行数在输入参数已经给出,我们要求得的就是其列数,设行数为r,输入的字符串长度原创 2020-12-11 19:15:02 · 501 阅读 · 0 评论 -
每日一练 2020/8/6(python)——两数和
两数和‘’‘给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。‘’’一、dictionary 两次循环def twoSum1(lst, target): dic = {} # 创建一个空字典,用来存放索引 for idx, x in enumerate(lst): dic[x] = idx # 把索引放入字典 fo原创 2020-08-07 23:21:59 · 277 阅读 · 0 评论 -
每日一练2020/8/7(python)——给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度子串(substirng):串中任意个连续字符组成的子序列称为该串的子串如:"pwwkew"的无重复子串为:“pw” “wke” “kew” “p” "w"等方法一:暴力破解遍历并找出所有无重复的最长连续子串缺点:时间复杂度、空间复杂度都很高def lengthOfLongestSubstring(s): if not s: return 0 substirng = {} for原创 2020-08-07 21:18:23 · 2085 阅读 · 0 评论 -
每日一练2020/7/31(C++)———顺时针打印矩阵
顺时针打印矩阵题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。#include <iostream>using namespace std;void print(int number){ cout << number << " ";}void Print_Circle(int** numbers, int rows, int columns, int start){ int end_row = rows - star原创 2020-08-01 03:12:38 · 106 阅读 · 0 评论 -
每日一练2020/7/30(C++)———斐波那契数列;调整数组顺序使奇数位于偶数前面
// 面试题10:斐波那契数列// 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。方法一:递归方法二:循环#include <iostream>using namespace std;// recursionlong long Fibonacci_recursion(unsigned int n){ if (n == 0 or n == 1) return n; return Fibonacci_recursion(n - 1) + Fibon原创 2020-07-30 14:27:12 · 221 阅读 · 1 评论 -
每日一练2020/7/28(C++)——找出数组中重复的数字;二维数组中的查找
// 面试题3(一):找出数组中重复的数字// 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,// 也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},// 那么对应的输出是重复的数字2或者3。#include <iostream>using namespace std;/*parameters: numbers: a int array原创 2020-07-28 23:47:43 · 783 阅读 · 0 评论