🎨剑指offer🎨
🎨剑指offer🎨
1.数组中重复的数字
2.二维数组中的查找
3.替换空格
4.从尾到头打印链表
5.重建二叉树
6.用两个栈实现队列
7.斐波那契数列
8.青蛙跳台阶问题
9.旋转数组的最小数字
10.矩阵中的路径
11.机器人的运动范围
12.剪绳子
13.剪绳子II
14.二进制中1的个数
15.数值的整数次方
16.打印从1到最大的n位数
17.删除链表的节点
18.调整数组顺序使奇数位于偶数前面
19.链表中倒数第k个节点
20.反转链表
21.合并两个排序的链表
22.树的子结构
23.二叉树的镜像
24.对称的二叉树
25.顺时针打印矩阵
26.包含min函数的栈
27.栈的压入、弹出序列
28.从上到下打印二叉树
29.从上到下打印二叉树II
30.从上到下打印二叉树III
31.二叉搜索树的后序遍历序列
32.二叉树中和为某一值的路径
33.复杂链表的复制
34.二叉搜索树与双向链表
35.序列化二叉树
36.字符串的排列
37.数组中出现次数超过一半的数字
38.最小的k个数
39.连续子数组的最大和
40.连续子数组的最大和
41.1~n整数中1出现的次数 ...
位运算
🍻位运算🍻转自:🔥【github】
136.只出现一次的数字
137.只出现一次的数字II
260.只出现一次的数字III
191.位1的个数
338.比特位计数
190.颠倒二进制位
只出现一次的数字leetcode给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
解题思路
一种方法是先排序,因为两个相同的数一定在一起,两个数一起遍历,当发现不同的时候便找到结果
当遍历到结尾时还没有发现则说明那一个数就出现在最后一位。123456789int singleNumber(vector<int>& nums) { sort(nums.begin(), nums.end()); for (int i = 0; i + 2 < nums.size(); i+=2) { if (nums[i] != nums[i + 1]) { return nums[i]; } } retu ...
hexo特殊符号使用
hexo特殊符号@## note modern red ‘fa fa-bell’ ##@有些特殊符号不能使用所以只能使用替换的字符:@## endnote##@
@## tabs 特殊符号对照 ##@
有些特殊符号不能使用所以只能使用替换的字符:
! ! — 惊叹号 Exclamation mark” “ “ 双引号 Quotation mark# # — 数字标志 Number sign$ $ — 美元标志 Dollar sign% % — 百分号 Percent sign& & & Ampersand‘ ‘ — 单引号 Apostrophe( ( — 小括号左边部分 Left parenthesis) ) — 小括号右边部分 Right parenthesis — 星号 Asterisk+ + — 加号 Plus sign< < < 小于号 Less than= = — 等于符号 Equals sign- - − — 减号> > > 大于号 Greater than? ? — 问号 Question mark@ @ — ...
二分法
🐧二分法🐧转自:🔥【github】
ps:二分法一定要牢记3个经常用的模板,注意边界检测。
34.在排序数组中查找元素的第一个和最后一个位置
69.x的平方根
153.寻找旋转排序数组中的最小值
167.两数之和II-输入有序数组
278.第一个错误的版本
744.寻找比目标字母大的最小字母
二分法的3个模板必须记住 3个模板代码区别很小,主要在于找到target之后指针的处理,建议比较target时的大于小于等于三种情况都写出来进行讨论,不易搞混淆,还要牢记左右指针的越界时的处理。while循环里时<=符号,while循环结束后right指针在前,left指针在后。
寻找一个数(基本的二分搜索)
寻找左侧边界的二分搜索(检查 left 越界的情况)
寻找右侧边界的二分搜索(检查 right越界的情况)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253int binary_search(int ...
Butterfly内置标签
Butterfly主题内置标签@ note modern blue no-icon @ 本篇为hexo Butterfly主题内置标签的一些使用样例,供参考使用
@ endnote @
1,Block Quote2,Code Block3,Backtick Code Block4,Pull Quote5,tag-hide@ tabs tag-hide @
1##@ hideInline content,display,bg,color @##
content: 文本内容
display: 按钮显示的文字(可选)
bg: 按钮的背景颜色(可选)
color: 按钮文字的颜色(可选)
Demo:
123哪个英文字母最酷? ##@ hideInline 因为西装裤(C装酷),查看答案,#FF7242,#fff @##门里站着一个人? ##@ hideInline 闪 @##
哪个英文字母最酷? ##@ hideInline 因为西装裤(C装酷),查看答案,#FF7242,#fff @##
门里站着一个人? ##@ hideInline 闪 @##
Block独立的block隐 ...
Butterfly主题使用帮助
Butterfly 常用操作
详细配置参考:
作者: Jerry連結: https://demo.jerryc.me/posts/4aa8abbe/#Gallery%E7%9B%B8%E5%86%8A來源: Butterfly
12345678910111213141516171819202122title:date:updated:tags:categories:keywords:description:top_img:comments:cover:toc:toc_number:auto_open:copyright:copyright_author:copyright_author_href:copyright_url:copyright_info:mathjax:katex:aplayer:highlight_shrink:
静态页面的一些属性:
写法
解释
title
【必需】文章标题
date
【必需】文章创建日期
updated
【可选】文章更新日期
tags
【可选】文章标签
categories
【可选】文章分类
keywords
...
每日一题☀️
题目
最接近原点的的K个点
最接近原点的的K个点
973. 最接近原点的 K 个点我们有一个由平面上的点组成的列表 points。需要从中找出 K 个距离原点 (0, 0) 最近的点。
(这里,平面上两点之间的距离是欧几里德距离。)
你可以按任何顺序返回答案。除了点坐标的顺序之外,答案确保是唯一的。
示例 1:1234567输入:points = [[1,3],[-2,2]], K = 1输出:[[-2,2]]解释: (1, 3) 和原点之间的距离为 sqrt(10),(-2, 2) 和原点之间的距离为 sqrt(8),由于 sqrt(8) < sqrt(10),(-2, 2) 离原点更近。我们只需要距离原点最近的 K = 1 个点,所以答案就是 [[-2,2]]。示例 2:123输入:points = [[3,3],[5,-1],[-2,4]], K = 2输出:[[3,3],[-2,4]](答案 [[-2,4],[3,3]] 也会被接受。)
代码123456789class Solution {public: vector<vector<int& ...
树🌳
刷题目录求根到叶子节点数字之和
检查平衡性
求根到叶子节点数字之和129. 求根到叶子节点数字之和给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。
例如,从根到叶子节点路径 1->2->3 代表数字 123。
计算从根到叶子节点生成的所有数字之和。
说明: 叶子节点是指没有子节点的节点。
示例 1:123456789输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13.因此,数字总和 = 12 + 13 = 25.示例 2:123456789101112输入: [4,9,0,5,1] 4 / \ 9 0 / \5 1输出: 1026解释:从根到叶子节点路径 4->9->5 代表数字 495.从根到叶子节点路径 4->9->1 代表数字 491.从根到叶子节点路径 4->0 代表数字 40.因此,数字总和 = 495 + 491 + 40 = 1026. ...