- 博客(13)
- 收藏
- 关注
原创 机器学习基础知识
文章目录概述一、机器学习分类1. 主要任务2. 分类方式3. 监督学习3.无监督学习总结概述机器学习(Machine Learning, ML) 是使用计算机来彰显数据背后的真实含义,目的是把数据转换成有用的信息。机器学习是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。一、机器学习分类1. 主要任务
2022-04-06 20:01:25
4032
原创 剑指 Offer 20. 表示数值的字符串 C++
解题思路——有限状态自动机本题使用有限状态自动机。根据字符类型和合法数值的特点,先定义状态,再画出状态转移图,最后编写代码即可。zi'fu'lei'xin代码class Solution {public: bool isNumber(string s) { vector<map<char, int>> m = { {make_pair(' ', 0), make_pair('s', 1), make_pair('d'
2021-01-31 14:58:18
330
原创 剑指 Offer 48. 最长不含重复字符的子字符串 C++
1 普通哈希表遍历字符串s,作为起点,二次遍历字符串,当有重复字符出现时,记录下此时的字符串长度tmp;清除哈希表,并退出循环,取tmp,和res中较大的赋给res;进入到下一轮循环,起点后移一个字符,重复上面步骤。class Solution {public: int lengthOfLongestSubstring(string s) { unordered_set<char> hash; int res = 0;
2021-01-19 14:03:33
267
原创 剑指 Offer 46. 把数字翻译成字符串 C++
先转成字符串再组合思路描述:首先我们要明白就是无论这些数字怎么取排列,形成的数字的位数是不变的那么就是高位的数字肯定是越小越好。我们先考虑一下怎么排列两个数字,比如 1 和 20,高位越小越好,放 1,组合成 120我们再看一下三个数的情况,比如 36、38 和 5,首先肯定先放 36,剩下 38 和 5,然后对这两个数进行排列 385,所以最后的结果为 36385。由上面的两个例子我们其实就可以知道,放数字的顺序肯定是先放第一位(最左边一位)最小的元素,如果第一位相等,比较第二位
2021-01-18 16:00:13
233
原创 剑指 Offer 44. 数字序列中某一位的数字 C++
1 找规律我们通过观察,可以发现以下规律:对于第 n 位对应的数字,我们令这个数字对应的数为 target,然后分三步进行。首先找到这个数字对应的数是几位数,用 digits 表示; 然后确定这个对应的数的数值 target; 最后确定返回值是 target 中的哪个数字。举个栗子:比如输入的 n 是 365:经过第一步计算我们可以得到第 365 个数字表示的数是三位数,n=365-9-90\times2=176n=365−9−90×2=176,digtis = 3。这时 n=
2021-01-18 14:39:01
487
原创 剑指 Offer 43. 1~n 整数中 1 出现的次数 C++ 困难
1 常规思路 暴力求解——超时class Solution {public: int countDigitOne(int n) { int res = 0; for(int i = 1; i <= n; i++){ res += IncludeYi(i) ; } return res; }private: int IncludeYi(int n){ int res
2021-01-18 10:34:16
139
原创 剑指 Offer 68 - II. 二叉树的最近公共祖先 C++
链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/根据以上定义,若 root 是 p, q 的最近公共祖先 ,则只可能为以下情况之一:p和 q在 root的子树中,且分列 root 的 异侧(即分别在左、右子树中); p = root,且 q在 root 的左或右子树中; q = root,且 p在 root 的左或右子树中;考虑通过递归对二叉树进行后序遍历,当遇到节点...
2021-01-14 16:35:28
197
原创 剑指 Offer 56 - I. 数组中数字出现的次数 C++(异或 /字典)
字典(较为简单)class Solution {public: vector<int> singleNumbers(vector<int>& nums) { unordered_map<int, int> m; for(int num:nums) m[num]++; vector<int> v; for(auto p : m){ if(p.secon
2021-01-04 21:34:59
104
原创 剑指 Offer 07. 重建二叉树 C++
重建二叉树是一个系列问题(建议先理解前、中、后序的原理)可以重建二叉树的方式:前序+中序(√)后续+中序(√)前序+后序(×)前序+后续不能重建二叉树的原因在于:无法确定根节点左右子树的位置递归(推荐 迭代法较难理解)利用迭代器—find()函数/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNod
2020-12-27 14:10:29
126
原创 LeetCode4. 寻找两个正序数组的中位数C++
暴力解法class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int lennums1 = nums1.size(); int lennums2 = nums2.size(); int lennums = lennums1 + lennums2; vec
2020-12-26 14:22:06
161
原创 【元音字母】 面试题 算法 双指针
【元音字母】Sam从小就对元音字母(a, e, i, o, u, A, E ,I, O, U)很感兴趣他在写日记的时候都会把元音字母写成大写,辅音字母都写成小写为了避免妈妈偷看自己的日记,他同时会把元音字母复写一遍我们摘录一段Sam日记的字符串S(长度不超过100, 只包含大小写的英文字母和空格),请把它还原成可以正常阅读的字符串(单词的首字母大写)。你试试把Sam日记的一个句子翻译成正常句子吧输入描述:输入一个字符串S(长度不超过100,只包含大小写的英文字母和空格)输出描述:根据Sa
2020-12-22 22:00:46
778
原创 cin不支持输入空格解决办法
cin不支持输入空格解决办法https://blog.csdn.net/qq_33521663/article/details/108691731
2020-12-22 20:25:57
1088
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人