10 2020 档案
摘要:实现字符串逆序反转 // 反转字符串 // 方法一 string reverse_str(string str1){ int i=0; int j = str1.length() - 1; while(i < j){ swap(str1[i], str1[j]); i++; j--; } retur
阅读全文
摘要:递归过程 https://www.bilibili.com/video/BV1Nt411K75B?from=search&seid=3890139359243729354 class TreeNode(object): def __init__(self, x): self.left = None
阅读全文
摘要:思路 1. 一圈圈的打印,开始点为左上角(0,0) 1. 第一圈:(0,0) 2. 第二圈:(1,1) 3. 第N圈:(n,n) 2. 总共可以打印多少圈,n为行与列的一半,超出就终止 python实现 def print_one_circle(array_input, rows, cols, st
阅读全文
摘要:给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与
阅读全文
摘要:// 求a b 两个字符串的编辑距离 // a b // 0 1 // a 0 // b 1 // c 2 int calTwoStr(string a, string b){ int aSize = a.length(); int bSize = b.length(); int dp[bSize]
阅读全文
摘要:傻瓜式安装c++的环境 step1: 下载安装vs code 下载地址: https://code.visualstudio.com/ step2: vs code内下载使用插件,如下图下载安装3个插件即可 step3 写c++代码,就可以运行了
阅读全文
摘要:def quick_sort(array, left, right): if left >= right: return low = left high = right key = array[low] while left < right: while left < right and array
阅读全文
摘要:# 求根号2 def solution(): # 初始化x x = 2 # 目标函数fx fx = x**2 - 2 # 优化求解fx while fx > 0.001: x = x - (fx * 1.0 / (2*x)) fx = x**2 - 2 return x 1. 使用牛顿迭代法,关键代
阅读全文
摘要:思路一:非递归方法 1. 找到两个节点的路径的逆序链表,将题转换成两个链表第一个公共节点的问题。 1.2 两个链表求第一个公共节点 class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *he
阅读全文
摘要:方法1 使用优先队列,时间复杂度为,kn * log k // 合并K个已经排序的链表并将其作为一个已排序的链表返回,分析并描述其复杂度 class Solution{ public: struct cmp{ bool operator() (const ListNode *a, const Lis
阅读全文
摘要:题目 某种疾病的患病率为 0.5%, 通过验血诊断该病的误诊率为5%(非患者中有5%的人验血结果为阳性,患者中有5%的人验血结果为阴性).现在知道某人的验血结果为阳性,求其患此病的概率 朴素贝叶斯公式如下:
阅读全文
摘要:使用堆排序 大顶堆解决最小前K的问题 小顶堆解决最大前K的问题 c++中使用优先队列priority_queue构造堆,支持以下操作 1. empty() : 如果优先队列为空,返回真 2. pop() : 删除第一个元素 3. push() : 加入一个元素 4. size() : 返回优先队列中
阅读全文