基础知识的知识点在前面介绍过了,涉及到的内容,都会在后面同步,今天我们主要来聊聊面试过程中的代码环节。关于代码,公司不同,要求不同,但是有一点是很显然的,那就是即使你写不出来可运行的代码,也得有清晰的思路,绝大部分公司则要求写出完整的代码,而代码能力和基础知识不同,不是短时间能够恶补的,更不是可以死记硬背的
想去看机会?下面这10道最高频的算法面试题都会了吗?相信我,彻底掌握以下这10道题的解法,你顺利做出手算法面试题目的概率至少不低于50%。1,快速排序题目形式:手写一下快速排序算法。题目难度:中等。出现概率:约50%。手写快排绝对是代码面试题中的百兽之王,掌握了它就是送分题,没有掌握它就是送命题。参考代码: def quick_sort(arr,start=0,end=None):
文章目录69. x的平方根二分法求整数解牛顿法求精确解反推面试题 浮点数开方二分法牛顿法145. 二叉树的后序遍历——迭代写法前序遍历+栈迭代中序遍历+栈迭代后序遍历+栈迭代169. 多数元素460. LFU缓存——未完成31. 下一个排列24. 两两交换链表中的节点48. 旋转图像283. 移动0151. 反转字符串里的字符221. 最大正方形 69. x的平方根实现 int sqrt(int
文章目录排序算法复杂度数组中出现次数超过一半的数字最小覆盖子串三数和接雨水链表环代理模式工厂模式观察者模式生产者消费者单例模式选择排序快排快排实现TopK归并排序死锁双线程轮流打印自定义线程池数组实现优先队列LinkedHashMap实现LRU 排序算法复杂度数组中出现次数超过一半的数字摩尔投票法:每次从序列里选择两个不相同的数字删除掉(或称为“抵消”),最后剩下一个数字或几个相同的数字,就是出
1、阻塞队列/线程安全队列 实现: 注意问题: 1、防止虚假唤醒的lambda表达式需要传入this,也就是调用变量 2、lambda表达式的函数体不可以使用自己写的判断队列满或者空函数 template <typename T> class block_queue { public: block_ ...
转载 2021-07-30 11:33:00
247阅读
2评论
天天乐学 面试直接让我代码 完全不会呀 那不完蛋~ 两个线程,线程1打印A,线程2打印B,两个线程同时并发,要求保证先打印A,后打印B 使用synchronized+ wait、notifypublic class Main{ static class Number{ public int num = 1; Number(){} } public
原创 2022-01-26 10:06:11
245阅读
天天乐学 面试直接让我代码完全不会呀 那不完蛋~ 两个线程,线程1打印A,线程2打印B,两个线程同时并发,要求保证先打印A,后打印B 使用synchronized+ wait、notify public class Main{ static class Number{ public int num = 1; Number(){} } p
原创 2021-07-12 09:46:27
240阅读
public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) return null; //head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null; ListNode pre = null;
原创 2022-01-26 10:15:37
359阅读
文章目录一、反转链表(leetcode 206)二、两个链表的交点(leetcode 160)三、链表的中间结点(leetcode 876)四、判断链表是否存在环(leetcode
原创 2023-08-29 12:06:18
122阅读
前言系列首发于『前端进阶圈』 ,若不想错过更多精彩内容,请“星标”一下,敬请关注最新消息。代码系列(二)手写函数柯里化 curring/** * 函数柯里化 curring * @param {Function} * @return 视具体方法而定 * * @logic * 1.创建一个参数数组 args * 2.创建一个函数,接收参数列表 * 3.函数判断参
原创 2023-04-26 09:34:55
92阅读
前言系列首发于公众号『前端进阶圈』 ,若不想错过更多精彩内容,请“星标”一下,敬请关注公众号最新消息。代码系列(四)手写触发控制器 Scheduler当资源不足时将任务加入队列,当资源足够时,将等待队列中的任务取出执行任务调度器-控制任务的执行,当资源不足时将任务加入等待队列,当资源足够时,将等待队列中的任务取出执行在调度器中一般会有一个等待队列queue,存放当资源不够时等待执行的任务。具有
原创 2023-05-02 08:38:19
111阅读
更新中更新中79问。
public class Solution { public ListNode ReverseList(ListNode head) { if(head==null) return null; //head为当前节点,如果当前节点为空的话,那就什么也不做,直接返回null; ListNode pre = nu
原创 2021-07-12 09:48:44
135阅读
一、二维数组中的查找(leetcode 240)class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { if (matrix.el...
原创 2023-08-29 11:03:16
124阅读
1. 手写闭包首先,看一个简单的案例:1 for (var i = 0; i < 4; i++) { 2 setTimeout(() => { 3 console.log(i); 4 }, i * 1000); 5 } 6 // 每隔一秒打印 4 4 4 4因为var 没有块级作用域,循环变量变成全局变量。如何解决?----> 闭包1 for (
文章目录一、根据rand7生成rand10(leetcode 470)二、快速幂(leetcode 50)一、根据rand7生成rand10(leetcode 470)
原创 2023-08-29 11:05:47
102阅读
前言LRU是一个操作系统的页面置换算法,它是 Least Recently Used(最近最少使用) 的缩写,用来淘汰上次使用距当前时间最长的页。
原创 2022-01-11 09:48:27
573阅读
1.linux 统计 字符串个数 grep -o hello |wc -l 2. linux 权限复习 赋予权限 chmod Linux/U
原创 2022-09-20 11:47:04
107阅读
大家好,我跟大家介绍一款刷题神器小程序【飞刀帮刷题】。这个小程序的主要功能有练习,考试,自创题库,分享和公开自创的题库,也可以做别人的题库。接下来介绍一下每个功能。 首先是首页,这里展示的是公开的试题,可以是自己公开的,也可以是别人公开的。然后是我的,这里有创建题库,我创建的题库,我收藏的题库,我的答题记录。你可以创建自己的题库,点击创建题库,选择分类,输入标题,输入考试时间。 接着点击
代码高频考题代码详解1. 快速排序# Python最简版from random import randintdef quick_sort(arr): if len(arr) <= 1: return arr p = arr[randint(0, len(arr) - 1)] left = [x for x in arr if x < ...
原创 2021-11-16 17:10:52
177阅读
  • 1
  • 2
  • 3
  • 4
  • 5