ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ARTS Week 26

2022-02-20 20:04:15  阅读:172  来源: 互联网

标签:Week 文件 ARTS pq nums int 元素 26 数组


Algorithm

本周的 LeetCode 题目为 215. 数组中的第K个最大元素

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

第 K 个大的元素可以利用小顶堆进行查找,维护一个元素个数不超过 K 的小顶堆。遍历数组,若堆中元素个数小于K时,则将数组元素加入堆,并调整堆;若堆中元素个数为K时,若当前元素大于对于元素时,移除堆顶元素,将当前元素加入堆,并调整堆,直至数组遍历结束。

class Solution {
    public int findKthLargest(int[] nums, int k) {
        PriorityQueue<Integer> pq = new PriorityQueue<>();
        for (int i = 0; i < nums.length; i++) {
            if (i < k) {
                pq.offer(nums[i]);
            } else if (i >= k && nums[i] > pq.peek()) {
                pq.poll();
                pq.offer(nums[i]);
            } else {
                continue;
            }
        }
        return pq.peek();
    }
}

Review

本周 Review 的英文文章为:作为软件开发人员如何开始成为自由职业者

首先你要想清楚,你打算投入多少时间从事自由职业,是全职工作还是作为兼职工作,当自由职业作为你唯一的收入来源时,这和你将其作为额外收入是完全不同的两个概念。下面是作者的一些建议:

  • 忘记名片和个人网站。首先你要做的是如何提高知名度和打造个人品牌,而不是建立名片和个人网站,这样你的客户才能找到你。
  • 社交网站是你可以做的最重要的事。你需要建立起自己的社交网络,这样才能更有效地发现你的潜在客户。
  • 提防自由平台。如果一个平台通过侵犯您的隐私来监视获取您的个人信息,那么对你还是客户都是不利的,因此对那些要说“不”。
  • 在现实世界中开展业务。如果你在大学,多结交同学;多去参加本地的相关领域的聚会,在聚会中试着多认识合作者;多和当地的企业进行联系,告诉他们你可以提供帮助服务。

Tip

C语言中,打开文件时r+w+a+标志的区别:

  • r+:同时支持读和写;但当文件不存在时,打开将会失败;fseek可以被用来调整读和写的偏移量
  • w+:同时支持读和写;但当文件不存在时,则会创建一个文件后再打开;fseek仅能被用来调整读的偏移量
  • a+:同时支持读和写;但当文件不存在时,则会创建一个文件后再打开;fseek仅能被用来调整读的偏移量,且写入时只会写入到文件末尾

Share

本周一直在路上,没有太多的思考,后面的生活将逐步踏入正轨,一步一步来吧。

标签:Week,文件,ARTS,pq,nums,int,元素,26,数组
来源: https://blog.csdn.net/m0_46976090/article/details/123034991

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有