自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 信息检索模型

信息检索模型布尔模型优点缺点向量空间模型模型描述索引项出现次数TF-IDF概率模型二值独立模型(BIM)二值(等价于布尔值):文档和查询都表示为此项出现与否的不二向量词项在文档中的出现是相互独立的利用概率模型来估计每篇文档和查询之间的相关性概率,然后对结果进行降序排列排序函数词项的独立性推导简化utu_tut​的估计ptp_tpt​的估计向量空间模型与概率模型的差别Okapi BM25:非二值的概率模型语言模

2021-06-23 12:08:41 626

原创 回溯法

回溯法回溯法:模板、套路、简化写法 - 子集 II - 力扣(LeetCode) (leetcode-cn.com)回溯法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就「回溯」返回,尝试别的路径回溯法是一种算法思想,而递归是一种编程方法,回溯法可以用递归来实现。回溯法的整体思路是:搜索每一条路,每次回溯是对具体的一条路径而言的。对当前搜索路径下的的未探索区域进行搜索,则可能有两种情况:当前未搜索区域满足结束条件,则保存当前路径并退出当前搜索;

2021-04-15 08:49:15 246

原创 反转链表Ⅱ

反转链表Ⅱ链接https://leetcode-cn.com/problems/reverse-linked-list-ii/代码我的代码基于栈进行反转,比较复杂,空间复杂度比较高,时间复杂度为存在常数的O(n)/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr)

2021-04-15 08:48:26 106

原创 反转链表

反转链表链接https://leetcode-cn.com/problems/reverse-linked-list/代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullpt

2021-04-15 08:47:57 70

原创 二分查找

二分查找普通二分查找while(i <= j){//注意是小于等于 mid = (j + i) / 2; if(target == matrix[row][mid]){ return true; } if(target > matrix[row][mid]){ i = mid+1;//注意需要加一 }else if(target < matrix[row][mid]){ j = mid-1;//注意需要减一

2021-04-15 08:45:37 71

原创 丑数②

丑数②链接https://leetcode-cn.com/problems/ugly-number-ii/代码最小堆加set去重class Solution {public: int nthUglyNumber(int n) { vector<int> factors = {2, 3, 5}; unordered_set<long> seen; priority_queue<long, vector<lo

2021-04-15 08:45:04 77

原创 不同的子序列

不同的子序列链接https://leetcode-cn.com/problems/distinct-subsequences/代码class Solution {public: int numDistinct(string s, string t) { int m = s.size(); int n = t.size(); vector<vector<long>> dp(m+1, vector<long>

2021-04-15 08:44:31 36

转载 TOP100 正则表达式匹配

TOP100 正则表达式匹配链接https://leetcode-cn.com/problems/regular-expression-matching/solution/zheng-ze-biao-da-shi-pi-pei-by-leetcode-solution/

2021-04-15 08:43:14 76

原创 132模式(多复习)

132模式(多复习)链接https://leetcode-cn.com/problems/132-pattern/代码class Solution {public: bool find132pattern(vector<int>& nums) { stack<int> stack; int num = nums.size(); stack.push(nums[num-1]); int max_k

2021-04-15 08:42:05 78

原创 42.接雨水

42.接雨水链接https://leetcode-cn.com/problems/trapping-rain-water/代码class Solution {public: int trap(vector<int>& height) { int left = 0; int right = height.size() - 1; int left_max = 0; int right_max = 0;

2021-04-15 08:41:26 35

原创 二叉树的遍历

二叉树的遍历递归方法//recursive//中序遍历class Solution1 {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> ret; if(root==NULL)return ret; inorderHelper(ret,root); return ret; }private: void

2021-04-15 08:40:13 55

原创 重新认识final

final作为Java语言中的一个保留的关键字,可以用来声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。一、基本用法1.修饰变量凡是对成员变量或者局部变量声明为final的都为final变量。final变量经常和static关键字一起使用,用来定义程序中的常量。final修饰基本数据类型的变量时,必须赋予初始值且不能被改变,修饰引用变量时,该引用变量不能再指向其他对象当final修饰基本

2020-07-09 10:27:16 102

原创 谜团探究为何String拼接字符串效率低下

在日常的编程之中,我们经常会接触到对字符串String的拼接操作。而实际运用中直接使用"+"来拼接String的效率是低下的,现在我们就来探究其中的原因。我们先来看看如下代码:public class StringTest { public static void main(String[] args) { String a = "abc"; String b = "def"; String c = a + b; Syst

2020-06-25 19:56:21 389

原创 finally块不执行的两种情况

java异常处理机制中的try…catch…finally我们已经很熟悉了,其中无论是否捕获或处理异常,finally块里的语句都会被执行。但仍然存在finally块里的语句不被执行的情况。现在我们就来探究一下什么情况下finally块里的语句不被执行。第一次尝试public static void main(String[] args) { try { System.out.println("try被执行了!"); System.exit(0); } catch (Exceptio

2020-05-15 22:40:52 1280 3

原创 一个问题

问题类A中有两个overload方法:void B(Object o)void B(Number n)客户端程序new A().B(Integer.valueOf(1))调用的是哪个B方法?还是说这段代码无法通过编译?上手编程public class A { void B(Object o) { System.out.println("0"); } void...

2020-04-12 01:10:55 106

原创 神秘的ADT

写在前面课程中接触到了ADT,自感对其的理解还不够深刻,于是在这里做个总结,也算是复习了。ADT与其类型基本概念抽象数据类型(Abstract Data Type,ADT)是是指一个数学模型以及定义在该模型上的一组操作;即包括数据数据元素,数据关系以及相关的操作。ADT由操作定义,与其内部如何实现无关。强调“作用于数据上的操作”,程序员和client无需关心数据如何具体存储的,只需设...

2020-04-02 13:10:00 162

原创 Git新手入门 —— 完成本地仓库与远程仓库的链接

第一步当然是注册GitHub账号了,这一步比较简单,按照网页提升进行操作就可以了。鉴于国内网络上GitHub确实有点慢,你可以选择魔法上网或修改本地Host来解决,在此不予赘述。链接在此:GitHub下一步就是搜索下载安装Git一气呵成。在这里给个链接:Git安装时强烈建议选择添加右键菜单功能,个人觉得方便不少。完成后直接新建或选择一个空的目录,右键打开Git Bash。当然拥有图形界面的...

2020-03-14 15:06:29 154

原创 HIT CSAPP 大作业

  摘 要本文以hello的整个生命周期为线索,对这个过程中所涉及到的各种问题与操作进行研究与探讨。通过合理运用这个学期在计算机系统课程上所学习的知识,分析研究hello程序在Linux系统下的P2P和020过程。并在各种分析工具的帮助下,探究Linux框架下整个程序的生命历程,从而使对计算机系统知识的学习更加深入。关键词:hello;编译;汇编;进程;计算机系统;(摘要0分,缺...

2019-12-23 16:05:10 315

空空如也

空空如也

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

TA关注的人

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