![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leecode
无名之辈W
不忘初心,方得始终
展开
-
LeeCode 1——求两数之和,C/C++/python
题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析:C的解法就是,直接遍历数组中的所有值找与这个值不同的其他值之和为target的就行,不得不说这个参数returnSi原创 2020-11-04 22:29:30 · 173 阅读 · 0 评论 -
QAX笔试编程题1——老板发奖金
1. 老板发奖金题目描述:老板一共需要给某个员工发奖金n元,可以选择一次发1元,也可以选择一次发2元…也可以选择一次发n元(必须以元为正数单位发放)。请问老板给这位员工发放完n元奖金共有多少种方法?分析:乍一看就是青蛙跳台阶问题的变态,之前有做过青蛙跳台阶的斐波那契解法,也做过变态解法。但是在考试时用这个解法并不能通过测试平台。难道是因为我没有写头文件这些内容,但系统明明是有函数定义接口的,于是直接写了函数。。。代码:如果是变态跳台阶问题,代码就是:#include<iostream&原创 2020-08-17 22:56:25 · 1758 阅读 · 2 评论 -
leecode97:交错字符串
题目描述:给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出: true示例 2:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”输出: false分析(来自官方解答)在没有看解答之前,我还想着用最古老的方法:数对应字符个数是否一样来判断s3能否用s1和s2交错,明显不是这道题的目的,而且时原创 2020-07-20 10:18:24 · 168 阅读 · 0 评论 -
leecode19:删除链表的倒数第k个节点(笔记:delete和malloc的区别)
题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.代码:AC/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x原创 2020-07-16 16:32:43 · 123 阅读 · 0 评论 -
键指offer——面试题8:二叉树的下一个节点
面试题8:二叉树的下一个节点题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回 。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析:中序遍历的顺序:左根右找二叉树的下一个节点,分为两种情况来分析:1)该节点有右子树:有右子树了,那这个节点的下一个节点就是右子树的最左节点喽;2)该节点没有右子树:该节点是父节点的左子树,那他的下一个节点就是他的父节点;该节点是父节点的右子树,那他的下一个节点就要沿着父节点的指针一直向上遍历,直到找到一个是他父原创 2020-06-16 11:25:14 · 105 阅读 · 0 评论 -
leecode——14.最长公共前缀
题目14:最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”分析与代码分析:怎么说呢,历尽了千辛万苦,调试了三四遍才通过所有案例。自己的思路总没有覆盖所有的案例,本地调试是一个很好地办法。第一遍是temp这个初始值设置有问题,太过固定;主要出错代码:char temp = strs[0][i];第二遍是不存在公共前缀的字符检测有误,因为没考虑到所有的情况;原创 2020-06-15 18:48:30 · 114 阅读 · 0 评论 -
leecode面试题29——顺时针旋转打印矩阵
第一步:问题分析第二步:阐述你的思路,比如打算用什么算法或者数据结构去解决这个问题,通过描述看是否行得通开始写代码原创 2020-06-08 19:03:41 · 177 阅读 · 0 评论 -
leecode237—— 删除链表中的节点
题目描述:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:说明:链表至少包含两个节点。链表中所有节点的值都是唯一的。给定的节点为非末尾节点并且一定是链表中的一个有效节点。不要从你的函数中返回任何结果。分析:无需定义链表,因为给的参数就只有要删除的这个节点指针。题目中是非尾节点,但有可能为头结点,需要注意 。链表不可能为空,因为至少包含了两个节点。整个删除思想就是:先定义一个节点是原创 2020-06-03 15:42:57 · 107 阅读 · 0 评论 -
leecode面试题 02.02——返回链表倒数第 k 个节点
题目描述:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。说明:给定的 k 保证是有效的。分析:先想到的就是将链表中的元素放到一个栈里边保存,然后从栈里边顺序输出第k个值即可,但超出了时间限制。pass代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), n原创 2020-06-03 15:08:27 · 134 阅读 · 0 评论 -
LeeCode 198——打家劫舍,求数组中不相邻的数的最大和
题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入: [2,7,9,3,1]输出: 12输入: [1,2,3,1]输出: 4分析:我最开始的思想就是求一个数组中的奇数和与偶数和,看哪个比较大,然后没有AC,所以看了评论用动态规划。还没好好理一原创 2020-05-30 16:41:48 · 321 阅读 · 0 评论 -
LeeCode 50——Pow(x, n),求x的n次方
题目描述: 实现 pow(x, n) ,即计算 x 的 n 次幂函数。C代码:double myPow(double x, int n){ if(n == 0) return 1; //n为奇数,递归实现 else if(n % 2 == 1) return myPow(x, n-1) * x; else if(n % 2 == -1) return myPow(x, n+1) * (1/x); //n为偶数,结果原创 2020-05-22 21:20:37 · 873 阅读 · 0 评论