06 2022 档案

摘要:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被舍去 。 ###1. 暴力法 class Solution { public: int mySqrt(int x) { for(int i=1;i<=x;i++){ int val = 阅读全文
posted @ 2022-06-29 17:05 失控D大白兔
摘要:给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。 你可以假设所有输入数组都可以得到满足题目要求的结果。 ###1. 排序后穿插赋值 class Solution { public: void wiggleSort( 阅读全文
posted @ 2022-06-28 02:31 失控D大白兔
摘要:给你一个升序排列的数组 nums ,请你原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的相对顺序应该保持一致 。 ###1. 暴力法 从前往后或者从后往前遍历,碰到相同元素,则把后面所有元素前移,覆盖掉该相同元素,时间复杂度为O(n2) class Solution 阅读全文
posted @ 2022-06-26 20:37 失控D大白兔
摘要:给定一个整数 n 和一个 无重复 黑名单整数数组 blacklist 。设计一种算法,从 [0, n - 1] 范围内的任意整数中选取一个 未加入 黑名单 blacklist 的整数。 任何在上述范围内且不在黑名单 blacklist 中的整数都应该有同等的可能性被返回。 ###1. 拒绝采样(超时 阅读全文
posted @ 2022-06-26 04:07 失控D大白兔
摘要:假如有一排房子,共 n 个,每个房子可以被粉刷成红色、蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同。 当然,因为市场上不同颜色油漆的价格不同,所以房子粉刷成不同颜色的花费成本也是不同的。每个房子粉刷成不同颜色的花费是以一个 n x 3 的正整数矩阵 cost 阅读全文
posted @ 2022-06-25 00:47 失控D大白兔
摘要:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 ###1. 归并排序 通过归并递归,先拆分成子问题,先计算区间内的逆序数,然后归并,同时计算区间之间的逆序数,并把总数加起来 计算两区间之间的逆序对时,可以跟合并区间操作统一 阅读全文
posted @ 2022-06-23 17:13 失控D大白兔
摘要:给定一个字符串 s 和一些长度相同的单词 words 。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符 ,但不需要考虑 words 中单词串联的顺序。 ####1. 暴力匹配 显然,与所有单词匹配的子串长度必然 阅读全文
posted @ 2022-06-23 14:01 失控D大白兔
摘要:小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫 ,房屋将自动报警。 1. 特解记忆化 阅读全文
posted @ 2022-06-22 23:51 失控D大白兔
摘要:给你旋转后的数组 nums 和一个整数 target ,如果 nums 中存在这个目标值 target ,则返回它的下标,否则返回 -1 显然要是得复杂度为对数级,需要进行二分处理,首先思考如何使得问题规模变小 其实就是以下一个流程 将数组一分为二,其中一定有一个是有序的,另一个可能是有序,也能是部 阅读全文
posted @ 2022-06-22 03:41 失控D大白兔
摘要:Trie 是一颗非典型的多叉树模型 每个节点分裂成对应26个字母的子节点,从上往下形成任一单词的前缀 下面来定义一个字典树的类 ####1. 属性 class Trie { private: bool isEnd;//是否为叶子节点 Trie* next[26];//26棵子树 public: // 阅读全文
posted @ 2022-06-21 16:09 失控D大白兔 阅读(49) 评论(0) 推荐(0)
摘要:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配 '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 ###1. 暴力递归 由于*匹配零个或多个前面元素,所以遍历是有方向的,从后往前递归判断,使问题规模缩小 class Solution 阅读全文
posted @ 2022-06-18 02:08 失控D大白兔
摘要:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数 ###1. 辅助空间暴力法 将两数组合并,分奇偶取中位数 class Solution { public: double findMedianSortedArrays(vecto 阅读全文
posted @ 2022-06-17 22:55 失控D大白兔
摘要:给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 ###1. 暴力法 从后往前遍历,碰到0将所有元素后移,即再从后往前遍历一次 class Solution { public: void duplicateZeros(vector<int>& arr 阅读全文
posted @ 2022-06-17 02:59 失控D大白兔
摘要:###1. 静态区间合并 先按左边界排序,再两两比较合并 class Solution { public: vector<vector<int>> merge(vector<vector<int>>& intervals) { if (intervals.size() == 0) return {} 阅读全文
posted @ 2022-06-13 03:31 失控D大白兔
摘要:如果一个二进制字符串,是以一些 0(可能没有 0)后面跟着一些 1(也可能没有 1)的形式组成的,那么该字符串是单调递增的 给你一个二进制字符串 s,你可以将任何 0 翻转为 1 或者将 1 翻转为 0 返回使 s 单调递增的最小翻转次数 ###1. 暴力法 遍历每一个位置,计算将该位置左侧全部置0 阅读全文
posted @ 2022-06-11 02:26 失控D大白兔
摘要:给定一个字符串 s,计算 s 的 不同非空子序列 的个数 ###1. 动态规划(记录位置去重) 设dp[i]为以i位置结尾的子序列数目,方便状态的转移 dp[i]= sum(dp[j]) ,j为上一次该字母出现位置到这一次字母出现的所有位置,从上一次出现位置开始主要为了去重 其实就是把该字母拼接到前 阅读全文
posted @ 2022-06-10 23:23 失控D大白兔
摘要:给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数 ###1. 递归 题目其实就是要求我们在s中从前往后挑选字符来匹配子序列,得到最后的匹配次数 也就是成功匹配的递归分支 class Solution { public: int numDistinct(string s, 阅读全文
posted @ 2022-06-10 20:35 失控D大白兔 阅读(51) 评论(0) 推荐(0)
摘要:###1. 介绍 对一个数量未知的样本,希望只经过一次遍历就完成随机抽样,即时间复杂度O(n) 因为样本数量未知,因此就不能通过random函数直接随机抽样 策略为从前往后遍历,每个样本成为答案的概率为1/i,其中i为样本编号,最终可以使每个样本概率为1/n 容易证明该做法的正确性,假设最终成为答案 阅读全文
posted @ 2022-06-09 22:23 失控D大白兔
摘要:###1 .概述 机器学习基于数据产生进行预测的模型,对需要预测的离散值和连续值进行分类(classification)和回归(regression) 在这个过程中,学的模型适用于新样本的能力成为泛化(generalization) 学习器在在训练集的误差称为训练误差,在新样本上的误差称为泛化误差, 阅读全文
posted @ 2022-06-09 03:54 失控D大白兔
摘要:###一. 常用markdown数学公式汇总 ``` \left\lbrace \sum_{i=0}^{n}i^{2}=\frac{2a}{x^2+1} \right\rbrace ``` $$ \left\lbrace \sum_{i=0}^{n}i^{2}=\frac{2a}{x^2+1} \r 阅读全文
posted @ 2022-06-09 02:50 失控D大白兔
摘要:import matplotlib.pyplot as plt import seaborn as sns ###1. Line Chart plt.figure(figsize=(16,6)) # Set the width and height of the figure plt.title(" 阅读全文
posted @ 2022-06-07 00:04 失控D大白兔
摘要:import numpy as np ###1. Create ndarray #Specify every value x = np.array([1, 2, 3, 4, 5]) y = np.array([[1,2,3],[4,5,6],[7,8,9], [10,11,12]]) # Creat 阅读全文
posted @ 2022-06-06 12:49 失控D大白兔
摘要:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 ###1. 暴力法 排序后遍历 class Solution { public: int longestConsecutive(vector<int>& nums) { //暴力 sort(nums 阅读全文
posted @ 2022-06-05 23:38 失控D大白兔
摘要:###1. 概述 并查集用来解决图的连通性问题,并查集的方法首先要为每一个点建立集合, 接着写出判断两个点是否属于一个集合的方式,最后不断合并集合 ####**常用模板** ``` int find(int i){ //寻找集合首索引,即集合的唯一标识符 if (parent[i] != i) pa 阅读全文
posted @ 2022-06-05 23:37 失控D大白兔
摘要:给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 ###1. 动态规划 dp[i]表示以i结尾的最长长度 状态转移方程dp[i] = max(dp[j])+1 if num[j]<num[i] 边界条件 dp[0] = 1 时间复杂度为O(n2),即遍历一遍,同时对每个元素往前搜索一 阅读全文
posted @ 2022-06-05 20:25 失控D大白兔
摘要:###1. Handling Missing Values #get the missing data ratio missing_values_count = nfl_data.isnull().sum() ## get the number of missing data points per 阅读全文
posted @ 2022-06-05 18:56 失控D大白兔
摘要:###1. Getting Started import pandas as pd #导入 pd.DataFrame({'Yes': [50, 21], 'No': [131, 2]}) #Create a table #assign the row lables pd.DataFrame({'Bo 阅读全文
posted @ 2022-06-04 21:58 失控D大白兔
摘要:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 思路跟快速幂差不多,通过不断累加减少使时间复杂度变成对数级,本质上是把其转换成二进制表示,这个二进制数就是商值 当然也可以使用多进制,但由于不能使用乘法,在32位限制的情况下,效率反 阅读全文
posted @ 2022-06-02 21:02 失控D大白兔
摘要:###一. 最简单的字符串匹配 >记录两初始指针从前往后移动,匹配成功则一起后移 匹配失败则模板串指针回到首位,被匹配串指针移到上一次上一次初始匹配的下一位置 直至模板串匹配完返回真,或者被匹配串匹配完返回假,时间复杂度为O(mn) > ``` class Solution { public: in 阅读全文
posted @ 2022-06-02 16:06 失控D大白兔
摘要:判断拓扑排序有入度表方式和深度优先(锁路径)无回路方式 其中入度表的能通过栈完成所有无前驱节点访问,也能通过队列广度优先完成访问,本质上只是存储无前驱节点的容器 构建对应拓扑序列序列只能用入度表的方式,按顺序解锁无前驱节点 bool TopologicalSort(Graph G){ stack<i 阅读全文
posted @ 2022-06-01 00:30 失控D大白兔