美文网首页
代码刷题

代码刷题

作者: sunnylxs | 来源:发表于2018-09-20 22:05 被阅读0次

1.输入两个正整数,求其最大公约数。

2.最大间隔:给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 - ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?注意:不加while True  和try except会错误  把break换成pass也错误。

3.二维数组中的查找

4.替换空格

5.从尾到头打印链表

6.打印出倒数第K个链表节点

7.合并2个排序的链表

8.树的子结构

9

9.TWO SUM

一:hash表法:map保存每一个不同数字最后出现的位置坐标,从下标0开始找,即使有重复数字,由于map中存的是最后一次出现的位置,那样即使有两个相同的值构成的数对也可以被找到。

问题:给定一个n个元素的集合S,找出S中满足条件的整数对A,B,使得A+B=K

假定集合S已经排好序的话,则上面这个问题可以在O(n)的时间内解决。使用2个索引值first和last,分别指向第一个元素和最后一个元素,设指向的第一个元素为A,则我们的任务就是找到对应于A的元素B,B=K-A。如果last指向的元素小于B,则first加1,指向后面的一个元素;如果last指向的元素大于B,则last减1。这样最终一步步逼近结果,时间复杂度为O(n)

二双指针法:

10平衡二叉树及树的深度

11.跳台阶,一次跳1个或者2个

12.变态跳台阶。一次可以跳1个,2个,。。。n个。先大致分析下,假设跳上第n个台阶有f(n)种方法,则f(1)=1,f(2)=2,f(3)=4,f(4)=8,可以得到f(n)=f(n-1)+f(n-2)+....+f(1)+1,而f(n-1)=f(n-2)+....+f(1)+1,两个式子相减,得到f(n) = 2f(n-1),很明显可以得到f(n)=2^(n-1)。

13.对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:

如果 X = 123,则rev(X) = 321;

如果 X = 100,则rev(X) = 1.

现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?也可以作为单独数字翻转321->123

14:将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。如果是合法的数值表达则返回该数字,否则返回0

15,定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

16.二维数组的查找

17:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

解题思路:

1.需利用逻辑与的短路特性实现递归终止。 2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0;

3.当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)。

18:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

19:字符串排序:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

20:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

O(N)保存两个值:1.数组中的数字2.次数;遍历到下个数字时,若和之前保存的数一样,加一,否则减一;若次数为0,则保存下一个数,并将次数置1.所保存的数字即为所求。

21合并2个有序链表:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

递归方法:

非递归方法:

22..二进制中1的个数

相关文章

  • 代码刷题

    1.输入两个正整数,求其最大公约数。 2.最大间隔:给定一个递增序列,a1

  • 8.23刷题题解代码

    202 快乐数 205 同构字符串 思路总结:第1种,把字符串转换成了数组,通过比较数组是否相等来判断字符串是否同...

  • VSCode配置LeetCode刷题环境

    VSCode配置LeetCode刷题环境 由于在LeetCode官网上刷题时,没有代码高亮提醒,有点儿不习惯,因此...

  • BD1 - Java 1-1

    面试时考查:Java基础逻辑思维读代码能力写代码能力(编程题)算法题 学习过程中 要从网上找题刷题!再看公司的需求...

  • 你好呀LeetCode Javascript版

    没事刷题缓解焦虑。 都以JavaScript代码完成,只贴代码,解题思路参考你好呀LeetCode C#版主要先刷...

  • 刷题刷题

    时间紧迫,任务繁重,又有疫情影响,搞的人心惶惶,一时间复习得不安宁,又舍不得摆烂。 在焦灼、惶恐的情绪中,紧张急迫...

  • 2020-27周复盘

    上周完成情况 任务进度结果刷题14道完成刷题8道Fail完成文本分类项目的代码完成finetuneDoing将当前...

  • 力扣题库

    【LeetCode】代码模板,刷题必会[https://fuxuemingzhu.blog.csdn.net/ar...

  • 2022-09-16

    刷题,刷题还是刷题

  • 2018-07-16

    刷题,祸害的何止是教育? 报班,刷题;买练习册,刷题;家教,刷题;跟不上,刷题;学得好,刷题;为了抢跑,刷题;为了...

网友评论

      本文标题:代码刷题

      本文链接:https://www.haomeiwen.com/subject/dayinftx.html