
算法
文章平均质量分 56
活的钻石
每时每刻都是活生生的,都走向活的方向,都有安全的活。
每一个刹那都淳珍宝爱,都充满热诚于美,都有创造的力。
那么,生命就会有钻石的美好,钻石的光芒了。
展开
-
Leetcode 最长回文子串
原创 2021-02-23 22:31:19 · 174 阅读 · 0 评论 -
单链表反转的递归和非递归方法
单链表反转有递归和非递归两种实现方法,首先定义链表结点://定义一个链表节点struct ListNode{ int value; ListNode *next;};一、递归方法先反转后面的链表,从最后面的两个结点开始反转,依次向前,将后一个链表结点指向前一个结点,注意每次反转后要将原链表中前一个结点的指针域置空,表示将原链表中前一个结点指向后一个结点的指向关系断开。二、非递归方法利用两个结点指针和一个中间结点指针temp(用来记录当前结点的下一个节点的..转载 2021-02-07 16:45:23 · 517 阅读 · 0 评论 -
Leetcode 203. 移除链表元素
https://leetcode-cn.com/leetbook/read/linked-list/f9izv/这个题目是一道简单题,但是我觉得还是蛮好的,因为题解采用的方法是引入哨兵节点。哨兵节点和哑节点其实是一回事,哨兵节点(sentinel)是一个哑元节点(dummy node),可以简化边界条件。是一个附加的链表节点,该节点作为第一个节点,它的值域中并不存储任何东西,只是为了操作的方便而引入的。如果一个链表有哨兵节点的话,那么线性表的第一个元素应该是链表的第二个节点。很多情况下,需要处...原创 2021-02-07 14:59:42 · 176 阅读 · 0 评论 -
Leetcode19 删除链表的倒数第N个节点
Leetcode 19.删除链表的倒数第 N 个结点https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/最近在刷Leetcode,这道题给的题解让人耳目一新。1.方法一首先求长度,自己写一个函数,删除倒数第N个节点,就是删除正数第L-N+1个节点,L为长度,注意链表长度从1开始计数。这个不难想到,题解的亮点在于引入了哑节点,什么是哑节点,为什么要引入哑节点?https://blog.youkuaiyun.com/x55x5原创 2021-02-06 16:55:58 · 137 阅读 · 0 评论 -
栈和逆波兰表达式
中缀表达式1+2,1+3*2,1+(3*2*(1+3)),这些就是中缀表达式,就是我们平时经常见到的形式,先算加减再算乘除,有括号的先算括号里面的,没有括号按照优先级顺序进行计算。但是,计算机处理中缀表达式却并不方便,因为没有一种简单的数据结构可以方便从一个表达式中间抽出,一部分算完结果,再放进去,然后继续后面的计算(链表也许可以,但是,代价也是不菲)。若用链表进行计算,不断地更新值...原创 2019-07-12 12:34:10 · 407 阅读 · 0 评论 -
HDU1002 A + B Problem II
A - A + B Problem IIHDU - 1002Sample Input21 2112233445566778899 998877665544332211Sample OutputCase 1:1 + 2 = 3Case 2:112233445566778899 + 998877665544332211 = 1111111111111111110...原创 2019-03-03 21:41:34 · 153 阅读 · 0 评论 -
不容易系列之(4)——考新郎
国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排; 然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个. 最后,揭开盖头,如果找错了对象就要当众跪搓衣板... 看来做新郎也不是容易的事情... 假设一共有N...原创 2019-02-16 21:13:19 · 163 阅读 · 0 评论 -
P1003铺地毯
题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入输出格...原创 2019-02-21 21:21:39 · 192 阅读 · 0 评论 -
UVA 725 Divison暴力入门
Write a program that finds and displays all pairs of 5-digit numbers that between them use the digits 0 through 9 once each, such that the first number divided by the second is equal to an integer N, ...原创 2019-01-22 17:54:28 · 188 阅读 · 0 评论 -
第1节 基础-数组中只出现一次的数字 (牛客网)
题目来源:牛客网题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。题目解析:使用异或,两个相同的数字异或会等于0;若只存在一个数,一直异或就会把这个数生下来;若两个数,一直异或,这两个不同的数异或之后会生成一个数,某位上一定会出现1,则表示这个位上,两数不同;根据这个位,将数组分成两组,每组即只存在一个不同的数。#in...原创 2018-11-24 19:15:54 · 187 阅读 · 0 评论 -
NYOJ取石子
833-取石子(七) 内存限制:64MB 时间限制:1000ms 特判: No通过数:84 提交数:184 难度:1 题目描述:Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈,Yougth和Hrdv分别从其中取石子,谁先取完者胜,每次可以从中取一个或者相邻两个,Hrdv先取,输出胜利着的名字。输入描述:输入包括多组测试数据。每组测试数据一个n,数据保证in...原创 2018-11-20 18:08:47 · 128 阅读 · 0 评论 -
nyoj 35 表达式求值(栈)
nyoj 35 表达式求值(栈)表达式求值描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数据(n<10)。每组测试数据只有一行,是一个长度不...转载 2018-11-07 16:42:43 · 247 阅读 · 0 评论 -
微软面试题 student a am i.
有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。思路是三个函数.首先就是求字符串的长度. 其次是字符串整体逆转. 最后是局部逆转.里面可能用到指针.注意逆转的相关操作.#include<iostream>#include<...原创 2018-11-04 15:57:43 · 184 阅读 · 0 评论 -
请要相信我,30分钟让你掌握AVL树(平衡二叉树)
算法与数据结构-树-树和森林及应用78562 38请要相信我,30分钟让你掌握AVL树(平衡二叉树)作者:u011469062 请要相信我,30分钟让你掌握AVL树(平衡二叉树)前言:本文不适合 给一组数据15分钟就能实现AVL的插入和删除操作的大牛(也请大牛不要打击小菜)本文适合,对avl还不了解,还没有亲自实现avl的插入和删除操...转载 2018-10-26 17:24:24 · 237 阅读 · 0 评论 -
牛客网 圆周率(模拟除法)
第1节 基础-圆周率计算机大牛们都在拼算法,计算圆周率小数点后面的第n位。这涉及到许多除法,现在给你一个被除数和除数,请你计算小数点后n位的值。 输入描述:输入包含多组数据。每组数据包含三个正整数:被除数a和除数b(1≤a<b≤100),以及精度n(1≤n≤1000)。输出描述:对应每组数据,输出a/b的结果,小数后面保留n位(不到n位的补零)。示例1输入...原创 2018-10-26 00:12:09 · 699 阅读 · 0 评论 -
二进制中1的个数
首先需要知道c语言中移位符的相关操作,不论是有符号还是无符号,左移都相当于*2,右移分为逻辑右移和算术右移,逻辑右移左边用0填充,算术右移左边用1填充,也可以这样理解,有符号数算术右移,无符号数逻辑右移,负数属于有符号数,算术右移.这些其实要多用,多记,多看.还有位操作符,&按位与,如果都是1,结果为1,如果任意一个为0,结果为0. |,按位或,如果都是0,结果为0,如果任意一个数...原创 2018-10-28 14:14:17 · 105 阅读 · 0 评论 -
牛客网 基础-2的幂次方
第1节 基础-2的幂次方 Every positive number can be presented by the exponential form.For example, 137 = 2^7 + 2^3 + 2^0。 Let's present a^b by the form a(b).Then 137 is presented by 2(7)+2(3)+2(0). Sin...原创 2018-10-28 13:12:25 · 535 阅读 · 1 评论