LeetCode
刷题越多手越稳
chenzhanpeng_
越努力越幸福
展开
-
面试题 17.14. 最小K个数
面试题 17.14. 最小K个数 难度:中等 设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。 示例: 输入: arr = [1,3,5,7,2,4,6,8], k = 4 输出: [1,2,3,4] 思路: 优先级队列(大顶堆) class Solution { public: vector<int> smallestK(vector<int>& arr, int k) { //1.直接排序 //2.大顶堆(优原创 2021-09-03 09:58:53 · 110 阅读 · 2 评论 -
剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 难度:简单 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。 示例: 给定一个链表: 1->2->3->4->5, 和 k = 2. 返回链表 4->5. /** * Definition for singly-linked原创 2021-09-02 11:10:03 · 71 阅读 · 0 评论 -
[LeetCode]69.x的平方根
实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。 我们可以借助二分查找的思想来快速判断根的位置 int mySqrt(int x...原创 2020-05-04 18:11:32 · 134 阅读 · 0 评论 -
[LeetCode]50.Pow(x,n),x的n次方
直接循环n遍会超时,我们可以用幂来减少循环次数,当幂为偶数时,直接平方当前数,当幂为奇数时,平方当前数之后再多乘一个x。采用递归先让幂变为0,任何数的0次方为1,我们从0次方开始递增累乘。 double myPow(double x, int n){ if(n==0) { return 1; } double res=myPow(x,n/...原创 2020-05-04 17:10:57 · 241 阅读 · 0 评论