摘要: 1.反转链表LeetCode206Easy 分析:从前往后扫,一个一个扫即可。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : 阅读全文
posted @ 2019-03-16 21:31 阳光zfc 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 一. 基本概念 仓库(repository) 收藏(star) 复制克隆项目(fork) 关注(watch) 发送请求(pull request) 事务卡片(issue) GitHub主页 仓库主页 个人主页 阅读全文
posted @ 2019-02-16 19:26 阳光zfc 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1. Fisher判别分析 2 Logistic 推导(二分类) 3 支持向量机推导(硬间隔) 阅读全文
posted @ 2019-01-15 21:38 阳光zfc 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 1.0-1背包问题 问题描述:有n件物品,每件商品的质量为w[i],价值为从c[i]。现有一个质量为V的背包,问如何选取物品放进背包,使得背包内物品的总价值最大。每种商品只有一件。 分析1:令dp[i][v]表示前i件商品恰好装入容量为v的背包中所能获得的最大价值。那么,对于第i件商品而言,它可以放 阅读全文
posted @ 2018-12-26 15:27 阳光zfc 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 最近看了《算法笔记》,感觉里面的动态规划写的不错,综合自己的感想,写一写。DP用来解决最优化问题,而DC是解决问题的。动态规划将原始的问题分为若干个子问题,通过综合子问题的最优解,来得到原始问题的最优解。动态规划会将每个求解过的子问题的解记录下来,下次遇到同样的问题,可以直接使用。一般使用递归和递推 阅读全文
posted @ 2018-12-26 13:23 阳光zfc 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 示例 2: 说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 分析:这种问题老师讲了很多解法,一步比一步的效率要好,这里我用了基于划分的方法, 阅读全文
posted @ 2018-12-25 10:03 阳光zfc 阅读(117) 评论(0) 推荐(0) 编辑
摘要: c++模板库的一些基本使用1 vector常见用法 1.1 vector定义 vector<typename>name(可以理解为一维的变长数组) vector<vector<int> >name(可以理解为二维数组) 1.2 vector访问 通过下标访问;通过迭代器访问 1.3 常用函数 (1) 阅读全文
posted @ 2018-12-25 09:23 阳光zfc 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 分析:看到这个问题,第一反应,先求长度,再找节点,看一下进阶,有更好的解决办法,有更巧妙的解决办法。下面是我参考的一个博客,用来学习交流,发现博主写的 阅读全文
posted @ 2018-12-24 21:48 阳光zfc 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 说明: 你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 分析:类似于数组中的元素交换,题目中的head是实际的第一个带值的节点,而不是空头节点,由于不能出现空指针,所以,可以创建一个 阅读全文
posted @ 2018-12-24 20:22 阳光zfc 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 下面我写了几种排序,还不全,有一些是学习其他博客的。大神那么多,奋起直追吧。还有就是不断的进行复习,熟练的掌握知识。 1 .c++排序调用 2.快速排序 3.归并排序 4.插入排序 5. 冒泡排序 6.选择排序 阅读全文
posted @ 2018-12-21 15:55 阳光zfc 阅读(119) 评论(0) 推荐(0) 编辑