- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 删除二叉搜索树中的某一节点
给定一个二叉搜索树的根节点和要删除的节点的值,使得该节点删除后二叉搜索树性质不变。struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int x):val(x),left(NULL),right(NULL){}};class Solution{public: v...
2020-04-28 20:06:41 134
原创 leetcode 合并k个排序链表
合并k个排序链表使之成为一个有序链表。struct ListNode{ int val; ListNode* next; ListNode(int x):val(x),next(NULL){}};class Solution{public: ListNode* nergeTwoLists(ListNode* a,ListNode* b) { ...
2020-04-26 19:53:52 65
原创 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。//方法1class Solution{ public: vector<vector<int>> permutation(vector<int>& nums) { vector<int> temp=nums; vecto...
2020-04-25 15:52:31 58
原创 数组中的字符串匹配
class Solution{ public: static bool cmp(string& a,string& b) { return a.length()<b.length(); } vector<string> stringMatching(vector<string>& words) ...
2020-04-24 09:38:59 689
原创 括号生成
给定一个整数n,返回n对“{}”的全排列。class Solution{ public: vector<string> res; void backtrace(string temp,int left,int right,int n) { if(temp.length()==n*2) { res.push_back...
2020-04-22 14:15:16 54
原创 旋转矩阵
将一个N*N的矩阵图像旋转90度,不占用额外空间。分析:①以对角线(左上到右下)为对称轴进行翻转(矩阵的转置)②以垂直中心轴为对称轴左右翻转class Solution{ public: void rotate(vector<vector<int>>& matrix) { int n=matrix.size(); ...
2020-04-07 12:43:02 458
原创 编辑距离
给定两个单词word1和word2,请你计算出word1转换为word2所使用的最少操作数。你可以对一个单词进行如下三种操作:1.插入一个字符2.删除一个字符3.替换一个字符如:输入:word1=“horse”;word2=“ros”;输出:3解释:①将’h’替换为’r’②删除’r’③删除’e’题解:动态规划。class Solution{ public: ...
2020-04-06 08:35:22 66
原创 LeetCode 煎饼排序
给定数组A,我们可以对其进行煎饼翻转,选择一些正整数K<=A.length,然后翻转A的前K个元素的顺序。我们要执行零次或者多次煎饼翻转(按顺序一次接一次的进行)以完成对数组A的排序。返回能使A排序的煎饼翻转操作所对应的K值序列。任何将数组排序且翻转次数在10*A.length范围内的有效答案都将被判断为正确。示例:输入:[3,2,4,1]输出:[4,2,4,3]解释:执行4次煎饼翻...
2020-04-04 09:02:37 131
原创 质数因子
输入一个正整数,按照从小到大的顺序输出它的所有质因子,如(180的质因子为2 2 3 3 5 ),最后一个数后面也要有空格。#include<iostream>using namespace std;string getResult(long ulDataInput){ string ans; while(ulDataInput !=1) { ...
2020-04-03 13:49:20 117
原创 十六进制转换为十进制
将十六进制转换为十进制。#include<iostream>using namespace std;int main(){ int a; while(cin>>hex>>a) { cout<<a<<endl; } return 0;}...
2020-04-03 13:41:12 82
原创 字符串分割
连续输入字符串,请按长度为8进行拆分,每个字符串输出到新的字符串数组。长度不是8整数倍的字符串请在后面补0,空字符串不处理。连续输入字符串(输入两次,每次输入字符串长度小于100).例:输入:abc123456789输出:abc00000123...
2020-04-03 11:45:03 65
原创 最接近原点的K个点
有一个由平面上的点组成的列表points,需要从中找出K个距离原点(0,0)最近的点。(平面上两点之间最近的距离是欧几里得距离)。class Solution{ public: struct cmp { bool operator()(pair<int,int>& a,pair<int,int>& b) { ...
2020-04-03 10:20:51 141
原创 数组的相对排序
给定两个数组arr1和arr2:①arr2中元素各不相同②arr2中元素都出现在arr1中;对arr1中的元素进行排序,使得arr1中元素的相对顺序和arr2相对顺序中相同,未在arr2中出现的元素,需按照升序放在arr1的末尾。例如:输入:arr1 [3,2,5,6,4,9,8]arr2 [2,4,6,3]输出:[2,4,6,3,5,8,9]class Solution{ ...
2020-04-03 09:32:29 199
原创 最大数
给定一组非负整数,重新排列使他们组成一个最大的整数。如:输入[10,2] 输出210。输入[3,9,5,34,30] 输出8534330。 防止数值过大,以字符串形式返回class Solution{ public: string lagerestNumber(vector<int>& nums) { string s="";...
2020-04-02 18:04:32 178
原创 通过投票给团队排名
现在有一个特殊的排名系统,依据参赛团队在投票人心中的次序进行排名,每个投票者都需要按从高到低的顺序对参与排名的所有团队进行排位。排名规则如下:·参赛团队的排名次序依照其所获【排位第一】的票的多少决定。如果存在多个团队并列的情况,将继续考虑其【排位第二】的票的数量。以此类推,直到不再存在并列的情况。·如果在考虑完所有投票情况后仍然出现并列现象,则根据团队字母顺序进行排名。给定一个字符串数组v...
2020-04-01 09:50:51 497
原创 将整数按权重排序
将整数x的权重定义为按照下述规则将x变为1所需要的步数:·如果x是偶数,那么x=x/2;·如果x是奇数,那么x=3*x+1比如x=3的权重为7,因为3需要7步变为1(3->10->5->16->8->4->2->1)。现在输入三个整数lo,hi,k,将[lo,hi]之间的整数按照他们的权重排序,如果大于等于2个整数有相同的权重,那么按照数字自身的数...
2020-04-01 09:01:03 251
二叉树的四种种遍历方式.docx
2020-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人