自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (3)
  • 收藏
  • 关注

原创 Task04 吃瓜教程——第五章 神经网络

神经网络(neural networks)是仿照动物的神经系统而来,期望机器可以获得类似人类的学习的能力。神经网络中最基本的模型叫做神经元(neuron)或者(unit)。1943年, McCulloch and Pitts 按照生物神经元的功能(兴奋的接受,传递)抽象出神经元模型,即"M-P神经元模型"。上图中,表示来自n个其他神经元的输入信号,为这个n信号的权重。神经元收到这些输入之后,会计算总输入值,并将总输入值与当前神经元的阈值进行比较,然后通过激活函数(activation function)处理

2022-06-26 01:10:24 203 1

原创 Task03 吃瓜教程——西瓜书第四章决策树

决策树(Decision tree)是一种常见的机器学习方法,常用于分类任务。包括一个根节点,若干内部节点和若干叶子节点。一、决策树的流程二、划分选择信息增益增益率基尼指数三、剪枝处理剪枝(pruning)是解决过拟合问题的主要手段。预剪枝后剪枝四、连续与缺失值连续值处理缺失值处理五、多变量决策树...

2022-06-24 00:44:28 313

原创 Task2 吃瓜教程——西瓜书第三章 线性模型

定义:线性模型(linear model)是通过属性的线性组合来进行预测的函数模型。给定由d个属性组成的示例线性模型学习的过程即确定和的过程。给定数据集, 其中(列向量),。试图学得 和以尽可能准确预测输出的过程,叫作线性回归。示例中属性是d维向量, 共有m个样本。问题:数据集简写为, 试图学得使得 (1)损失函数——均方误差:(2)记最小二乘法参数估计:分别对求导得:(3)(4)因为在偏导为0时取得极值,因此令(3)(4)为0,可解得:其中多元线性回归需要转换为矩阵的运算。而b无法直接在矩阵中表示。可以

2022-06-20 22:00:35 345

原创 Task1 吃瓜教程-西瓜书 第1-2章

如果有多个假设与观察一致,则选择最简单的那个考虑二分类: 从结果看出,总误差与学习算法无关。对于任意两个学习算法,他们的期望性能相同。这就是NFL(没有免费的午餐原理) ROC全称是“受试者工作特征”(Receiver Operating Characteristic)。机器学习中,根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别作为横、纵坐标作图,就得到了ROC曲线。纵轴(真正例率) 横轴(假正例率) AUC(Area Under ROC Curve

2022-06-15 00:12:42 115

原创 交换两个数的值

一、中间临时变量法void swap(int &a, int &b) { int temp = a; a = b; b = temp;}二、异或法交换变量在计算机刚发明时,内存非常“精贵”。这种变量交换往往是非常奢侈的。于是计算机“大牛”发明了一些算法来避免使用中间变量:void swap(int &a, int &b) { a = a ^ b; // 充当临时变量 b = b ^ a; // <=>

2021-03-15 11:53:43 99

原创 leetcode——反转字符串中的单词

题目:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"提示:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格方案一:原地解法,分组旋转字符串, 可以接受多个连续空格class Solution {private: void reverseString(string&.

2021-01-29 19:50:14 206

原创 leetcode——反转字符串

题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。链接:https://leetcode-cn.com/problems/reverse-string示例:1、输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]2、输入:[

2021-01-29 19:17:22 83

原创 leetcode——Nim游戏

题目:你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回true;否则,返回false。示例:1、输入:n = 4输出:false 解释:如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还...

2021-01-28 21:20:24 240

原创 leetcode——除自身以外数组的乘积

题目:给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。说明:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内 请不要使用除法,且在O(n) 时间复杂度内完成此题。示例:输入: [1,2,3,4]输出: [24,12,8,6]方案一:除法用到除法,就要检验除数是否为0class Solution...

2021-01-28 20:56:09 102

原创 leetcode——删除链表中的节点

题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为要被删除的节点。示例:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list方案:思考:这个题目非常简单,如果在真实面试...

2021-01-28 20:33:27 129

原创 leetcode——2的幂

链接:https://leetcode-cn.com/problems/power-of-two/题目:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例:1、输入: 1输出: true解释: 20 = 12、输入: 16输出: true解释: 24 = 163、输入: 218输出: false思考:2的幂特征:最高位是1,其余位为0。 如果输入值小于等于0, 则必返回false方案一:时间复杂度空间复杂度方案二:位运算

2021-01-27 21:50:04 181

原创 leetcode——数组中的第K个最大数

题目:在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例:输入: [3,2,1,5,6,4] 和 k = 2输出: 5方案一:快排法变形class Solution {public: int quickSelect(vector<int>& a, int l, int r, int index) { int q = randomPartition(a, l, r)..

2021-01-27 00:02:51 764

原创 leetcode——反转链表

题目:反转链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL方案一:迭代法/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} *

2021-01-25 23:33:48 67

原创 leetcode——多数元素

题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。链接:https://leetcode-cn.com/problems/majority-element示例:1、输入:[3,2,3]输出:32、输入:[2,2,1,1,1,2,2]输出:2方案一:排序法class Solution {public: int majorityElement..

2021-01-24 21:22:20 99

原创 leetcode——排序链表

题目:给你链表的头结点head,请将其按升序排列并返回排序后的链表。示例:输入:head = [4,2,1,3]输出:[1,2,3,4]方案:class Solution: def sortList(self, head: ListNode) -> ListNode: if not head or not head.next: return head # termination. # cut the LinkedList at ...

2021-01-23 23:45:40 59

原创 leetcode——环形列表

题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是 -1,则在该链表中没有环示例:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。方案一:class Solution {public: bool hasCycle(ListNode *head) { ListNode* fast .

2021-01-22 23:59:58 592 1

原创 leetcode——买卖股票的最佳时机2

题目:给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/示例:1、输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天...

2021-01-21 12:30:51 104

原创 leetcode——买卖股票的最佳时机

题目:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock示例:1、输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖.

2021-01-21 12:03:17 93

原创 leetcode——二叉树的最大深度

题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回最大深度 3方案一 递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * Tree.

2021-01-20 20:33:51 90

原创 leetcode——格雷编码

题目:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。https://leetcode-cn.com/problems/gray-code示例:1、输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的n,其格雷编码序列并不唯一。例如,[0,2,3,1]也是一个有...

2021-01-20 20:17:06 97

原创 leetcode——合并两个有序数组

题目:给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组。初始化nums1 和 nums2 的元素数量分别为m 和 n 。你可以假设nums1有足够的空间(空间大小等于m + n)来保存 nums2 中的元素链接:https://leetcode-cn.com/problems/merge-sorted-array示例:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,...

2021-01-20 10:40:25 208

原创 leetcode——爬楼梯

题目:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?(n为整数)https://leetcode-cn.com/problems/climbing-stairs/示例:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶方案一:动态规划class Solution {public: int climbStairs(int n) { if (n..

2021-01-19 21:06:28 60

原创 leetcode——螺旋矩阵

题目:给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例:1、输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]2、输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]方案一:class Solution {pu...

2021-01-18 21:28:28 365

原创 leetcode——字符串相乘

题目:给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例:输入: num1 = "2", num2 = "3"输出: "6"方案一:class Solution {private:// 字符 乘 字符串string charMultiStr(string num, char c) { if (c == '1') { return num; } else if (c =...

2021-01-17 23:09:09 378 1

原创 leetcode——搜索旋转排序数组

题目:升序排列的整数数组nums在预先未知的某个点上进行了旋转(例如,[0,1,2,4,5,6,7]经旋转后可能变为[4,5,6,7,0,1,2])。请你在数组中搜索target,如果数组中存在这个目标值,则返回它的索引,否则返回-1。(https://leetcode-cn.com/problems/search-in-rotated-sorted-array/)示例1、输入:nums = [4,5,6,7,0,1,2], target = 0 输出:42、输入:...

2021-01-16 17:27:46 62

原创 leetcode——删除排序数组重复元素

题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。(https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array)示例:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1...

2021-01-16 16:37:34 162

原创 leetcode——合并K个升序链表

目录题目:示例:提示:方案一:暴力解法方案二:顺序合并方案三:归并方案四:优先队列题目:给定一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。(https://leetcode-cn.com/problems/merge-k-sorted-lists/)示例:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4-

2021-01-16 16:21:34 100

原创 leetcode——合并两个有序链表

题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]方案一:迭代(C++)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), ...

2021-01-15 14:19:48 80

原创 leetcode——有效的括号

题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例:1、输入: "()" 输出: true2、输入: "()[]{}" 输出: true3、输入: "(]" 输出: false4、输入: "([)]" 输出: false5、输入: "{[]}" 输出: true方案一:栈clas..

2021-01-15 13:53:50 64

原创 leetcode——最接近的三数之和

题目:给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。注意:3 <= nums.length <= 10^3-10^3 <= nums[i] <= 10^3-1...

2021-01-14 21:12:16 72

原创 leetcode——三数之和

题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:1、输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]]2、输入:nums = [] 输出:[]3、输入:nums = [0] 输出:[]提示:0 <= nums.length <= 3000 -...

2021-01-13 22:14:39 106

原创 leetcode——最长公共前缀(简单)

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例:1、输入:strs = ["flower","flow","flight"] 输出:"fl"2、输入:strs = ["dog","racecar","car"] 输出:"" 解释:输入不存在公共前缀。提示:0 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i]仅由小写英文字母组成方案一:暴力解..

2021-01-13 20:51:44 100

原创 leetcode——盛最多水的容器

题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。方案一:...

2021-01-13 20:30:33 82

原创 leetcode——判断回文数

题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数示例:1、输入: 121 输出: true2、输入: -121 输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数3、输入: 10 输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。方案一:class Solution {public: bool isPalindrome(int x) {

2021-01-12 21:01:29 123

原创 leetcode——字符串转换整数(atoi)

题目:实现一个atoi函数,使其能将字符串转换成整数。转换规则:首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。假如该字符串中的第一个非空格字..

2021-01-12 20:50:04 114

原创 leetcode-整数反转

题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例:1、输入:x = 123 输出:3212、输入:x = -123 输出:-3213、输入:x = 120 输出:214、输入:x = 0 输出:0方案:class Solution {public: int r...

2021-01-12 19:42:56 53

原创 leetcode——最长回文子串

题目:给定一个字符串s,找到s中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"示例 3:输入:s = "a"输出:"a"示例 4:输入:s = "ac"输出:"a"方案一:暴力解法(代码可以运行,但是超时了,时间复杂度O(n^2))class Solution {public: string longestPa...

2021-01-11 22:20:28 81

原创 leetcode——寻找两个正序数组的中位数

题目:给定两个大小为 m 和 n 的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0...

2021-01-11 21:46:33 85

原创 LeetCode-两数相加

题目:你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。来源链接:https://leetcode-cn.com/problems/add-two-numbers/示例:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.方案一:直观解...

2021-01-11 21:03:32 67

原创 Python 入门-Task1 变量、运算符、数据类型及位运算

# *****变量、运算符与数据类型*******# 1、注释# 1.1 单行注释, # 标识注释,作用于整行# This is a Commentprint("Hello world!")# 1.2 多行注释 ''' ''' 或者""" """表示区间注释,在三引号之间的所有内容被注释'''这是多行注释,用三个单引号这是多行注释,用三个单引号这是多行注释,用三个单引号'''print("Hello China")"""这是多行注释,用三个双引号这是多行注释,用三个双引号..

2020-07-22 22:16:29 130

MFC 系统托盘的使用

MFC 基于对话框的程序 最小化到托盘的实现

2015-02-14

MFC经典程序之二 ——时钟

用到以下知识: 1、基于View的MFC工程中,系统菜单check状态的设置。 2、动态绘制图像 3、CColorDialog的使用

2015-02-01

MFC经典程序之一 时钟实现

MFC经典程序之一。用于实现时钟。 主要用到以下内容: 1、CDC画圆,画线,输出文字。 2、基于单文档的MFC工程中,追加菜单和Toolbar响应函数。 3、计时器的使用 SetTimer,KillTimer 4、MFC时间控件Date Time Picker 的使用。 欢迎讨论和批评指正。 QQ:879019712

2015-01-25

空空如也

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

TA关注的人

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