ICode9

精准搜索请尝试: 精确搜索
  • 研究SandHook2021-09-09 18:32:39

    SandHook的实现介绍: Android ART Hook 实现 - SandHook_ganyao939543405的博客-CSDN博客_sandhook SandHook/doc.md at master · asLody/SandHook 其中有一个重要的点就是,android内部实现java对象的时候会有一个mirror的镜像对象,有一些虚拟机比较在意的类型,例如 Class,Method 这些

  • 使用SDL_ttf绘制True Type字体2021-09-04 09:02:11

      准备   SDL_ttf库   配置dll和lib 我就不细说了可以模仿我demo用cmake配置   头文件放SDL.h同一个目录   sample.ttf SourceSansPro-Regular 字体文件   目的   使用ttf字体文件 进行文字的渲染   也就是使用ttf文件 自定义文字的字体显示   主要绘制一行"Shi

  • leetcode230. Kth Smallest Element in a BST2021-09-03 20:58:14

    题目:题目链接 简单概括:求BST(平衡二叉树)的第k小值。 怎么做呢?我感觉就是可以按中序遍历整个二叉树,保存到数组中,然后从数组拿就完了。这个就是O(n)的时间复杂度了。代码也不复杂,就是中序遍历。贴代码: class Solution { public: vector<int>nums; void inOrder(TreeNo

  • 面向对象风格的单链表排序2021-08-30 22:02:49

    //面对对象风格的单链表排序.//现在的主要问题是,排序的列表中不能出现0,原因是与NULL冲突. #include <iostream> using namespace std; const long int MAX = 2147483647; //长整形的最大值,即 (2^31)-1,在当前编译器中,int和long int都是4字节32位 typedef class LNode//重命

  • LeetCode-链表-206. 反转链表2021-08-25 14:02:13

    描述 206. 反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 思路一:双指针法 1:首先定义一个头指针初始化为nullptr 2:在定义一个cur指向当

  • leetcode 将有序数组转换为二叉搜索树2021-08-25 10:59:47

    108. 将有序数组转换为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10

  • 面试题36:二叉搜索树和双向链表2021-08-24 22:34:22

    面试题36:二叉搜索树和双向链表 文章目录 题目考点LeetCode版本 题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 考点 中序遍历 + 保存前节点 + 保存头节点 LeetCode版本 class Solution {

  • 二叉搜索树节点最小距离2021-08-24 22:03:14

    事实证明,第一次做错了,第二次依旧会错。。。。。。。。。。 class Solution { TreeNode*pre=nullptr; int val=pow(10,5); public: int minDiffInBST(TreeNode* root) { if(root==nullptr) return 0; fun(root); return val; } voi

  • Codeforces Round #623 (Div. 2) A~D题,D题multiset使用2021-08-21 13:32:04

    比赛链接:Here 1315A. Dead Pixel 签到题, 比较四个值 max(max(x, a - 1 - x) * b, a * max(y, b - 1 - y)) 1315B. Homecoming \(A\to B\) 花费 \(a\) 元 \(B\to A\) 花费 \(b\) 元 求要走到点 \(i\),从 \(i\) 上车能在 \(p\) 内到终点。 这个挺多解法的 二分答案 逆推模拟 DP 虚

  • leetcode-动态规划-做题小记2021-08-20 09:35:27

    将升序数组转为高度平衡的二叉搜索树 eg: Input: nums = [-10,-3,0,5,9] Output: [0,-3,9,-10,null,5] Explanation: [0,-10,5,null,-3,null,9] is also accepted: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *

  • 二叉树非递归遍历2021-08-19 19:00:17

    #include<iostream> #include<stack> #include<vector> struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) { val = x; left = nullptr; right = nullptr; }; }; using namespace std; //二叉树前序非递归遍历 void preOrder(TreeNod

  • 刷题-力扣-226. 翻转二叉树2021-08-15 09:00:37

    226. 翻转二叉树 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/invert-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出:

  • leetcode 二叉树展开为链表 中等2021-08-12 23:03:07

          此题的关键部分就是如何处理 右儿子如何连接在左儿子上,然后再由左儿子变成父亲的右儿子。 现假设为一种最简单的情况:   O (a)    /       \ O (b)    O (c) 显然,节点 c 需要的得到的点是节点 b     O (a)      /       \   O (b)    O (c)

  • 王道2.3.7综合应用题2021-08-11 15:34:19

    目录王道2.3.7综合应用题12345 王道2.3.7综合应用题 1 设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点 void delx(LinkList &L, ElementType x) { if (L == nullptr) return; if (L->data != x) delx(L->next, x); else { p = L; L = L->

  • 将二叉搜索树转为平衡二叉树2021-08-11 12:31:38

    题目链接:https://leetcode-cn.com/problems/balance-a-binary-search-tree 题目描述: 给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。 如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1 ,我们就称这棵二叉搜索树是 平衡的

  • 刷题-力扣-108. 将有序数组转换为二叉搜索树2021-08-06 21:01:40

    108. 将有序数组转换为二叉搜索树 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给你一个整数数组 nums ,其中元素已经按 升序 排

  • 刷题-力扣-111. 二叉树的最小深度2021-08-05 18:02:28

    111. 二叉树的最小深度 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短

  • VS code中未定义标标识符"nullptr""constexpr"2021-08-02 23:01:59

    最近刚学C++,在VS code中写代码,发现这样的报错:未定义的标识符constexpr以及nullptr。心想应该是版本问题,查看c_cpp_properties.json文件,其中C和C++标准是c89和gnu++98。 "cStandard": "c89", "cppStandard": "gnu++98", 将C++标准改为"c++11"即可。至于两者的差别还得对C++熟悉之

  • 填充每个节点的下一个右侧节点指针2021-08-02 15:03:12

       详细思路 本想递归,能力不足,这道题更适合层序遍历,在第i层遍历已经建好的next节点,为下一层建立next节点,然后进入下一层继续,   精确定义 beg为每一次头结点 i为遍历当前节点,需要处理 newBeg新的头结点,在合适和地方赋值,如果为空,最好是第一个i->left pre i的前一个节点,可以next

  • 二叉树展开为链表2021-08-02 13:03:39

        详细思路 前序遍历得到数组,对于数组内每一个节点,左子树为nullptr,右子树为下一个节点   精确定义 nodes前序遍历节点 class Solution { public: void flatten(TreeNode* root) { if(!root)return ; vector<TreeNode*>nodes; dfs(root,nodes);

  • 数据结构--链栈2021-07-31 09:59:12

    一.存储结构 struct Node { DataType data; Node<DataType>*next; };  二.操作集合 1.构造函数 LinkStack<DataType>::LinkStack() { top=new Node<DataType>; top->next=nullptr; } 2.析构函数 LinkStack<DataType>::~LinkStack() { Node<DataType&

  • leetcode 环形链表II 中等2021-07-30 20:01:28

        // 假设有环, 从 head 到环入口有 a 个节点, 环大小为 b 个节点, c 表示从环入口到停下来地方的结点数// slow 与 quick 相遇时有等式: 2 * (a + x * b + c) = a + y * b + c// 即 2 * a + 2 * x * b + 2 * c = a + y * b + c// a = -c + (y - 2 * x) * b// 显然 a >= 0.

  • leetcode笔记_树2021-07-28 21:01:03

    树 树的遍历 前序遍历 /** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode() : val(0), left(nullptr), right(nullptr) {} *     TreeNode(int x) : val(x), left(nullptr),

  • Codeforces Global Round 15部分题解(A-D)2021-07-27 16:31:20

    A. Subsequence Permutation  题意:水   B. Running for Gold  题意:有n个运动员都参加了五场比赛,定义一个运动员比另一个运动员强当他有大于等于3次比赛的名次在另一位之前;定义比除自己以外所有在场运动员都强的运动员为冠军,询问当前的n个运动员中是否存在冠军,如存在,则输出其中

  • LeetCode 算法 897:链表的中间节点2021-07-26 22:59:25

    给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有