offer
【剑指Offer】1、二维数组中的查找
# 【剑指Offer】1、二维数组中的查找 **题目描述:** 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 **解题思路:** 很明显,由于该二维数组 ......
剑指offer第5题
剑指 Offer 05. 替换空格 - 力扣(LeetCode) 对于string和容器而言,想要向里面插入元素而不适用STL的API的话必须先扩展它的长度 ......
经验分享 - 我是如何拿到硅谷顶级科技公司的 10 个 offer ?
代我太太发文: 经过 3 个月精心准备,我拿到了 Google,Facebook,Netflix,linkedin,Snapchat,Roku TV,Amazon,Signal,Wealthfront,Toyota Research Institute 一共 10 个硅谷公司的 offer。airb ......
[GPT] Unable to negotiate with xx.xx.xx.xx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
这个错误通常发生在 SSH 客户端无法找到与 SSH服务器 匹配的主机密钥类型时。 这可能是因为SSH服务器配置为使用SSH客户端不支持的主机密钥类型。 要解决此问题,您需要将缺少的主机密钥类型添加到SSH客户端的配置文件中。以下是实现步骤: 使用文本编辑器打开SSH客户端配置文件。文件位置可能因操 ......
LeetCode 剑指 Offer 65. 不用加减乘除做加法
````java /** * 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 * * 示例: * 输入: a = 1, b = 1 * 输出: 2 * * 提示: * a, b 均可能是负数或 0 * 结果不会溢出 32 位整数 * * 0000 ......
栈&队列:剑指 Offer 09. 用两个栈实现队列
题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。 (若队列中没有元素,deleteHead 操作返回 -1 ) class CQueue { LinkedList<Integ ......
链表:剑指 Offer 24. 反转链表
题目描述: 方法:迭代(双指针) class Solution { public ListNode reverseList(ListNode head) { ListNode cur = head, pre = null; while(cur != null) { ListNode tmp = cu ......
链表:剑指 Offer 22. 链表中倒数第k个节点
题目描述: class Solution { public ListNode getKthFromEnd(ListNode head, int k) { ListNode former = head, latter = head; for(int i = 0; i < k; i++) { if(fo ......
链表:剑指 Offer 06. 从尾到头打印链表
题目描述: 方法:递归法 class Solution{ ArrayList<Integer> tmp = new ArrayList<>(); public int[] reversePrint(ListNode head){ recur(head); int res[] = new int[tm ......
剑指 Offer II 048. 序列化与反序列化二叉树
题目链接:[剑指 Offer II 048. 序列化与反序列化二叉树](https://leetcode.cn/problems/h54YBf/) ## 方法:先序遍历(dfs) ### 解题思路 在先序遍历过程中,节点值之间通过空格隔开,好利于后续反序列化过程中获取值。 ### 代码 ```cpp ......
ssh远程redhat6报错:Unable to negotiate with *.*.*.* port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
报错:Unable to negotiate with *.*.*.* port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss 分析:openssh觉得ssh-rsa加密方式不安全, 直接从8.8开始默认不允许这种 ......
剑指 Offer 67. 把字符串转换成整数
题目描述: 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数 ......
剑指 Offer 66. 构建乘积数组
题目描述: 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 class Solution{ publ ......
剑指 Offer 65. 不用加减乘除做加法
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 class Solution{ public int add(int a,int b){ while(b!=0){// 当进位为 0 时跳出 int c = (a&b)<<1;// c = ......
剑指offer 58 2 左旋转字符串
将左边n个字符转移到字符串结尾,比如 s=abcdefg ,n=2;输出cdefgab。看起来不难,但是解法还是挺多的,重要的是复杂度。 还是先写下思路, 常规的思路(暴力):就是定义两个字符串str1,str2,n之后的字符全部拷贝进入str2,然后再把k和k之前字符的拷贝进入str1,返回str ......
剑指offer 从未到头打印链表
之前写的,利用栈先进后出的原理,把链表压进栈,再打印就行了,非常简单。可能是为了之后的反转链表铺垫。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNod ......
剑指offer 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 注意下,字符用单引号' '括起来,字符串用双引号“ ”起来,那么“%20”就是一个字符串 里面有三个字符,而替换的空格只有一个字符。 所以替换大概是这样,找到第一个空格,字符串扩容两格,把第一个空格后面的字符统统向后移动两位,让后从第一个 ......
剑指 Offer 64. 求1+2+…+n
题目描述: 题解: 利用带短路效应的递归 class Solution{ public int sumNums(int n){ boolean x = n>1&&(n+=sumNums(n-1))>0; return n; } } ......
约瑟夫环(动态规划):剑指 Offer 62. 圆圈中最后剩下的数字
题目描述: 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩 ......
剑指 Offer 61. 扑克牌中的顺子
题目描述: 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。 2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 限制: 数组长度为 5 数组的数取值为 [0, 13] . 方法:排序 + 遍历 clas ......
剑指 Offer 58 - I. 翻转单词顺序
题目描述: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。 例如输入字符串"I am a student. ",则输出"student. a am I"。 ......
剑指 Offer II 039. 直方图最大矩形面积
题目链接:[剑指 Offer II 039. 直方图最大矩形面积](https://leetcode.cn/problems/0ynMMM/) ## 方法:单调栈 ### 解题思路 - 以直方图中的某一条为高的最大(面积)矩形的宽度为 $r - l + 1$,其中 $r$ 表示在其右边第一个小于(或 ......
动态规划:剑指 Offer 60. n个骰子的点数
题目描述: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 方法:动态规划 class Solution{ public double [ ......
剑指 Offer 57 - II. 和为s的连续正数序列
题目描述: 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 方法:滑动窗口(双指针) class Solution{ public int[][] findContinuousSequen ......
剑指Offer58-II.左旋转字符串——学习笔记
###题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 **示例1:** ``` 输入: s = "abcdefg", k = 2 输出: ......
剑指Offer 05.替换空格——学习笔记
###请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 **示例 1**: ``` 输入:s = "We are happy." 输出:"We%20are%20happy." ``` **限制**: - `0 <= s 的长度 <= 10000` **题解**: ```java clas ......
(双指针)剑指 Offer 57. 和为s的两个数字
题目描述: 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 class Solution{ public int[] twoSum(int nums[],int target){ int i=0,j=nums.length ......
剑指 Offer 56 - II. 数组中数字出现的次数 II
题目描述: 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 int[] counts = new int[32]; for(int i = 0; i < nums.length; i++) { for(int j = 0; j < 32; j++ ......
剑指 Offer 56 - I. 数组中数字出现的次数
题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。 要求时间复杂度是O(n),空间复杂度是O(1)。 设 nums=[3,3,4,4,1] ,以上计算流程如下图所示。 本题难点: 数组 nums 有 两个 只出现一次的数字,因此无法通过异 ......