自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 45. 跳跃游戏 II

竟然没有超时,双重循环class Solution: def jump(self, nums: List[int]) -> int: dp = [float("inf")] * len(nums) dp[0] = 0 for i in range(len(nums)-1): for j in range(i+1,min(i+nums[i]+1,len(nums))): dp[j] = .

2021-03-31 18:24:10 71

原创 474. 一和零

多维背包,三维class Solution: def findMaxForm(self, strs: List[str], m: int, n: int) -> int: dp = [[[0] * (n+1) for _ in range(m+1)] for _ in range(len(strs)+1)] for k in range(1, len(strs)+1): count_1 = strs[k-1].count("1").

2021-03-31 18:07:23 47

原创 523. 连续的子数组和

class Solution: def checkSubarraySum(self, nums: List[int], k: int) -> bool: if k == 0: return True dic = {0:-1} sums = 0 for i in range(len(nums)): sums = (sums + nums[i]) % k if.

2021-03-31 16:45:59 53

原创 55. 跳跃游戏

class Solution: def canJump(self, nums: List[int]) -> bool: k = 0 for i in range(len(nums)): if i > k: return False k = max(k, nums[i] + i) return True

2021-03-31 16:32:59 59

原创 机器学习面试题(一)

准确率与精准率的区别降维的方法PCA推导LDA推导样本不平衡怎么办带权重的损失函数处理样本不平衡K-means如何选取K值ROC和AUCAuc体现出容忍样本倾斜的能力,只反应模型对正负样本排序能力的强弱,而其直观含以上是任意取一个正样本和负样本,正样本的得分大于负样本的概率。RMSE和MAE的区别bagging和boosting 的区别和联系...

2021-03-31 16:11:17 76

原创 弗洛伊德算法

https://blog.csdn.net/AivenZhong/article/details/93770197

2021-03-30 12:46:48 93

原创 1334. 阈值距离内邻居最少的城市

在这里插入代码片

2021-03-30 12:15:16 61

原创 150. 逆波兰表达式求值

在这里插入代码片

2021-03-30 12:03:11 62

原创 变态跳台阶

# -*- coding:utf-8 -*-class Solution: def jumpFloorII(self, number): # write code here if number == 1: return 1 return 2*self.jumpFloorII(number-1)

2021-03-29 20:30:52 56

原创 377. 组合总和 Ⅳ

class Solution: def combinationSum4(self, nums: List[int], target: int) -> int: dp = [0] *(target + 1) dp[0] = 1 for i in range(1, target+1): for num in nums: if target - num >= 0: ..

2021-03-29 14:54:54 58

原创 39. 组合总和

class Solution: def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]: res = [] def backtrack(position, sub_res): if sum(sub_res[:]) > target: return if sum(sub_re.

2021-03-29 14:53:36 64

原创 40. 组合总和 II

class Solution: def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]: res = [] candidates.sort() def backtrack(position, sub_res, ans): if ans > target: return .

2021-03-29 14:50:23 62

原创 1408. 数组中的字符串匹配

class Solution: def stringMatching(self, words: List[str]) -> List[str]: res = set() words.sort(key=lambda x:len(x)) for i in range(len(words)): for j in range(i+1, len(words)): if words[i] in wor.

2021-03-29 12:40:28 84

原创 数组中的第K个最大元素

class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: left = 0 length = len(nums) right = length - 1 def select_k_max(nums,low,high): index = partition(nums,low,high) if i.

2021-03-29 11:05:06 66

原创 打家劫舍

class Solution: def rob(self, nums: List[int]) -> int: if len(nums) <= 2: return max(nums) dp = [0] * len(nums) dp[0] = nums[0] dp[1] = nums[1] for i in range(2,len(nums)): dp[i] = .

2021-03-28 21:35:30 75

原创 713. 乘积小于K的子数组

滑动窗口class Solution: def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int: start = 0 sums = 1 ans = 0 for i in range(len(nums)): sums = sums * nums[i] while sums >.

2021-03-28 16:24:22 58

原创 76. 最小覆盖子串

class Solution: def minWindow(self, s: str, t: str) -> str: def dic_equal(dic1,dic2): for key in dic1: if dic2[key] < dic1[key]: return False return True t_dic = {} ..

2021-03-27 23:08:31 64

原创 牛客-地牢逃脱(BFS)

从给定起点(一定为’.’),按照给定的若干跳跃(可以跨过障碍,但不可以落在’x’上),到达任意一个’.'的最小步骤次数集合中,选择一个最大的!while True: try: n , m = map(int,input().split()) matrix = [] for i in range(n): te = list(map(str,input())) matrix.append(te) ..

2021-03-26 22:25:02 171

原创 python 一些技巧

进制转换format()函数可以去掉前缀,结果都是字符串。映射方式创建一个字典divmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b, a%b)all()函数判定给定的可迭代 参数iterable中的所有元素是否都为True,否则返回False元素除了0,空值,None,False外都是True。空元祖,空列表返回的是Trueenumerate()函数用于将一个可遍历的数据对象(列表,元组,字符串)组合为一个索引,同时列出数据和数据的下标,一.

2021-03-26 20:07:39 114

原创 凉面

简述yolo V3原理;简述faster rcnn原理;yolo v3通过什么方法去避免双阶段,实现单阶段;NMS原理Triplet loss怎么去选择负样本;重排序(re-rank)原理yolo v3下采样的倍数yolo v3的损失函数yolo v3的输入固定吗?为什么是这些输入,有什么原因吗?...

2021-03-26 11:04:36 127

原创 字符串

class Solution: def lengthOfLongestSubstring(self, s: str) -> int: dic = {} # 存索引 res = 0 start = 0 end = 0 while end < len(s): if s[end] not in dic: dic[s[end]] = end .

2021-03-25 23:10:04 83

原创 82. 删除排序链表中的重复元素 II

# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: res = ListNode()..

2021-03-25 23:09:15 64

原创 换钱的最少货币

# 最少货币数# @param arr int整型一维数组 the array# @param aim int整型 the target# @return int整型#class Solution: def minMoney(self , arr , aim ): # write code here dp = [5001] * (aim+ 1) dp[0] = 0 for coin in arr: ..

2021-03-25 22:33:27 105

原创 两数之和 + 未排序数组中累加和为给定值的最长子数组

class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: dic = {} for i in range(len(nums)): dic[nums[i]] = i for i in range(len(nums)): if target-nums[i] in dic and i != dic[targ.

2021-03-25 21:28:40 73

原创 剑指 Offer 52. 两个链表的第一个公共节点

# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: A = headA .

2021-03-25 20:14:33 54

原创 树——递归思想

1.递归树要么是空树,要么有两个指针,每个指针指向一棵树。树是一种递归结构,很多树的问题可以使用递归来处理。class Solution: def maxDepth(self, root: TreeNode) -> int: if root == None: return 0 leftDepth = self.maxDepth(root.left) + 1 rightDepth = self.maxDepth(roo

2021-03-24 12:57:49 728 1

原创 位运算

基本原理移位运算例题class Solution: def singleNumber(self, nums: List[int]) -> int: tmp = 0 for i in range(len(nums)): tmp = tmp ^ nums[i] return tmpclass Solution: def missingNumber(self, nums: List[int]) -

2021-03-23 18:09:11 88

原创 质数

class Solution: def countPrimes(self, n: int) -> int: # 定义数组标记是否是质数 is_prime = [1] * n count = 0 for i in range(2, n): # 将质数的倍数标记为合数 if is_prime[i]: count += 1 .

2021-03-23 15:16:46 90

原创 拼凑硬币

是真的想不到,真的难Num = int(input())dp = {0: 0, 1: 1, 2: 2}def dfs(n): if n < 3: return dp[n] else: if n in dp: return dp[n] if n % 2 == 0: # n为偶数时,要么选取0个1,要么选取2个1. dp[n] = dfs(n >&

2021-03-22 21:50:24 178

原创 背包问题(动态规划)

0-1背包普通0-1背包贪心不合适不能优先放价值大的,比如:9 10, 5 6, 5,5 很明显6+5>10也不能优先放性价比高的,比如:9 18, 5, 9.5, 5,9.5 最大的性价比是2,但是放进去价值18<9.5+9.5=19分析比如最后一个物品是4 6,也就是重量是4,价值是6,那么最优解一定来自:前四个物品在容量为6的情况下最大值加上第五个物品的价值6,或者前四个物品在容量为10的情况下的价值,也就是 不要第五个物品,显然两者取个最大值。

2021-03-22 20:51:58 164

原创 geohash编码

n = int(input())res = ""def binary_search(left,right,res): while left < right: mid = int((left + right) / 2) if mid <= n: left = mid res = res + '1' else: right = mid re..

2021-03-20 12:10:12 105

原创 牛客 质数对

素数筛法求出质数n = int(input())ZHISHU = [2]for i in range(3, n): flag = True for j in ZHISHU: if i % j==0: #如果当前值可整除已筛出的素数中的任意值,则改变flag,结束循环 flag = False break if flag: #否则添加该数至素数列表 ZHISHU.append(i)# pr.

2021-03-20 11:32:17 106

原创 牛客 编码

s = input()def Count(s): res = 0 ans = 0 s_tmp = s if len(s) < 4: s_tmp = s_tmp + 'a' # 不够的补位'a' for i in range(len(s_tmp)): res = res * 25 + ord(s_tmp[i]) - ord('a') ans = ans + res return ans + .

2021-03-20 10:53:16 128

原创 完全平方数

初始化平方数列表,否则时间超出import numpy as npclass Solution: def numSquares(self, n: int) -> int: square_nums = [i ** 2 for i in range(1,int(np.sqrt(n))+1)] dp = [i for i in range(0,n+1)] for i in range(1,n+1): for square..

2021-03-19 22:20:40 108

原创 数组中的第K个最大元素

class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: # 快速排序 def quicksort(left,right): pivot = nums[left] while left < right: # 注意带上等号 # left 和right 不用加.

2021-03-18 23:08:53 56

原创 剑指 Offer 26. 树的子结构

分三种情况考虑,注意出口条件# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isSubStructure(self, A: TreeNode, B: TreeNode) -> .

2021-03-18 22:08:01 51

原创 剑指 Offer 38. 字符串的排列

回溯模板+用一个visit去表示是否访问了某个位置+最后重复的用set()去重class Solution: def permutation(self, s: str) -> List[str]: l = len(s) res = [] used = [0] * l def backtrack(sub_s): if len(sub_s) == l: re.

2021-03-18 18:21:31 50

原创 XGBoost和lightGBM笔记

1.XGBoost模型假设一共K棵树,那么fk(xi)f_{k}(x_{i})fk​(xi​)表示第i个样本在第k棵树中落在叶子节点的权重。训练时候的目标函数3. 如何构造回归树要求的就是未知的fkf_kfk​。4.贪心算法定义树的复杂度:用叶子的个数和叶子权重的平滑程度来描述模型的复杂度。5.求最优值6.求树的结构现在只要知道树的结构,就能得到一个该结构下的最好分数。用贪婪算法去确定树的结构。从树的深度为0开始,每一节点遍历所有的特征。对于某个特征,先按

2021-03-17 11:22:12 222

原创 第 k 个缺失的正整数

class Solution: def findKthPositive(self, arr: List[int], k: int) -> int: if arr[0] > k: return k l, r = 0, len(arr) while l < r: mid = (l + r) >> 1 x = arr[mid] if mi.

2021-03-14 21:58:06 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除