”程序员面试金典“ 的搜索结果

     分割链表题目描述我的解题 题目描述 编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半...

     面试题 08.11. 硬币 class Solution { public: int waysToChange(int n) { int mask=1e9+7; vector<int>dp(n+1),coins={1,5,10,25}; dp[0]=1; for(int i=0;i<4;i++) { for(int j=coins[i];j<=n;j...

     一、题目介绍 字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例1: 输入: ...来源:力扣(LeetC...

     class Solution { public: bool isUnique(string astr) { if(astr.size()==0)return true; unordered_set<char>myset={astr[0]}; for(int i=1;i<astr.size();i++) { if(myset.find(astr[i])!... .

     面试题 04.03. 特定深度节点链表 class Solution { public: vector<ListNode*> listOfDepth(TreeNode* tree) { if(tree==NULL) return {}; vector<ListNode*>res; ListNode*head=new ListNode(tree...

     题目描述 现有一些随机生成的数字要将其依次传入,请设计一个高效算法,对于每次传入一个数字后,算出当前所有传入数字的中位数。(若传入了偶数个数字则令中位数为第n/2小的数字,n为已传入数字个数)。...

     思路:首先插入和删除只是对一个字符进行操作,那么两个字符串相减(大-小)--->1,那么就可以定义一个方法,两者同时遍历比较。所以当出现大减小--->大于1的时候,才能停止比较。(2)先取到第一个然后和之后的每一...

     一、题目描述 有一个正整数,请找出其二进制表示中1的个数相同、且大小最接近的那两个数。(一个略大,一个略小) 给定正整数int x,请返回一个vector,代表所求的两个数(小的在前)。保证答案存在。...

      参考这个链接如何测量上下文切换时间 首先明白大的数字有什么特点,大的数字= 两个数字的和 - 小的数字,较大的数字。可以用绝对值的做法来做的,构造差值。 令result = (|a+b| + |a-b|) / 2;...

     最小高度树题目描述我的解题 题目描述 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。 我的解题 /** * Definition for a binary tree node. ...

     1.题目 三合一。描述如何只用一个数组来实现三个栈。 你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。 构造函数会传入一个stack...

     1. 题目 插入。给定两个32位的整数 N 与 M,以及表示比特位置的 i 与 j。 编写一种方法,将 M 插入 N,使得 M 从 N 的第 j 位开始,到第 i 位结束。 假定从 j 位到 i 位足以容纳 M,也即若 M = 10 011,那么 j 和 i ...

10  
9  
8  
7  
6  
5  
4  
3  
2  
1