码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java---刷题01


    1.判断是否为回文字符串_牛客题霸_牛客网 (nowcoder.com)

     2.求平方根_牛客题霸_牛客网 (nowcoder.com)

    3.1816. 截断句子 - 力扣(LeetCode)

    4.26. 删除有序数组中的重复项 - 力扣(LeetCode)

    5.27. 移除元素 - 力扣(LeetCode)

    6.13. 罗马数字转整数 - 力扣(LeetCode)

    7.202. 快乐数 - 力扣(LeetCode)

    8.263. 丑数 - 力扣(LeetCode)

    9.258. 各位相加 - 力扣(LeetCode)

    10.374. 猜数字大小 - 力扣(LeetCode)

    11.35. 搜索插入位置 - 力扣(LeetCode)

    12.278. 第一个错误的版本 - 力扣(LeetCode)

    13.面试题 01.02. 判定是否互为字符重排 - 力扣(LeetCode)

    14.1046. 最后一块石头的重量 - 力扣(LeetCode)

    15.1160. 拼写单词 - 力扣(LeetCode)

    16.1154. 一年中的第几天 - 力扣(LeetCode)

    17.剑指 Offer 06. 从尾到头打印链表 - 力扣(LeetCode)

    18.面试题 02.01. 移除重复节点 - 力扣(LeetCode)

    19.1171. 从链表中删去总和值为零的连续节点 - 力扣(LeetCode)

    20.2. 两数相加 - 力扣(LeetCode)

    21.148. 排序链表 - 力扣(LeetCode)

    22.328. 奇偶链表 - 力扣(LeetCode)

    23.21. 合并两个有序链表 - 力扣(LeetCode)

    24.删除链表中重复的结点_牛客题霸_牛客网 (nowcoder.com)

    25.206. 反转链表 - 力扣(LeetCode)

    26.142. 环形链表 II - 力扣(LeetCode)

    27.1441. 用栈操作构建数组 - 力扣(LeetCode)

    28.496. 下一个更大元素 I - 力扣(LeetCode)

    29.155. 最小栈 - 力扣(LeetCode)

    30.20. 有效的括号 - 力扣(LeetCode)

    31.225. 用队列实现栈 - 力扣(LeetCode)

    32.232. 用栈实现队列 - 力扣(LeetCode)

    33.求和的重载

    在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码,求出结果

    重载满足的几个条件:

    1. 方法名相同
    2. 参数列表不同(数据类型,个数,顺序)
    3. 返回值无关
    1. public static int sum(int a,int b) {
    2. return a+b;
    3. }
    4. public static double sum(double a,double b,double c) {
    5. return a+b+c;
    6. }

    34.求1!+2!+3!+4!+........+n!的和

    1. /**
    2. * 1!+2!+3!+.....+n!
    3. * @param n
    4. * @return
    5. */
    6. public static int facSum(int n) {
    7. int sum = 0;
    8. for (int i = 1; i <= n; i++) {
    9. //fac为 求指定数字的阶乘的函数
    10. sum += fac(i);
    11. }
    12. return sum;
    13. }
    14. /**
    15. * 求i!的阶乘
    16. * @param i
    17. * @return
    18. */
    19. public static int fac( int i) {
    20. int tmp = 1;
    21. for (int j = 1; j <= i; j++) {
    22. tmp *= j;
    23. }
    24. return tmp;
    25. }
    26. public static void main(String[] args) {
    27. int ret = facSum(5);
    28. System.out.println(ret);
    29. }

    35.找出出现一次的数字

    有一组数据,只有一个数字是出现一次,其他是两次,请找出这个数字。

    1. class Solution {
    2. vector<int> onlyones(vector<int>nums) {
    3. int count = 0;
    4. int i = 0;
    5. int cur=nums[i];
    6. vector<int>res;
    7. while (i
    8. if (nums[i] == cur) {
    9. count++;
    10. if (count == 2) {
    11. cur = nums[++i];
    12. count = 1;
    13. }
    14. i++;
    15. }
    16. else {
    17. res.push_back(cur);
    18. cur = nums[i++];
    19. count = 1;
    20. }
    21. }
    22. return res;
    23. }
    24. };

    36.求最大值方法的重载

    在同一个类中定义多个方法:要求不仅可以求2个整数的最大值,还可以求3个小数的最大值?

    重载:

    1. 方法名相同
    2. 参数列表不同(数据类型,个数,顺序)
    3. 返回值无关

    本题可以借助Java原生类Math当中的max方法求最大值,当然也可以自己通过If else进行比较。

    Math的使用 不需要导入相关的包 

    1. public static int max(int a,int b) {
    2. return Math.max(a,b);
    3. }
    4. public static double max(double a,double b,double c) {
    5. double m = Math.max(a,b);
    6. return Math.max(m,c);
    7. }

    37.求 N 的阶乘 

    1. public static int fac( int n) {
    2. int tmp = 1;
    3. for (int j = 1; j <= n; j++) {
    4. tmp *= j;
    5. }
    6. return tmp;
    7. }

    38.求斐波那契数列的第n项。(迭代实现)

    1. /**
    2. * 求菲薄那切数列的第n项
    3. * @param n
    4. * @return
    5. */
    6. public static int fib(int n) {
    7. if(n == 1 || n == 2 ) {
    8. return 1;
    9. }
    10. int f1 = 1;
    11. int f2 = 1;
    12. int f3 = 1;
    13. for (int i = 3; i <= n; i++) {
    14. f3 = f1+f2;
    15. f1 = f2;
    16. f2 = f3;
    17. }
    18. return f3;
    19. }

    39.写一个递归方法,输入一个非负整数,返回组成它的数字之和

    要计算123的每一位,主要在于如何得到每一位。在前面的习题中我们知道,除10 , 模10.可以做到。

    如下图,在执行n=123的时候,先执行add(123/10)也就是add(12)这个函数,等最后回来之后,才会把n=123时候的n%10算完。

    1. public static int add(int n) {
    2. if(n > 10) {
    3. return add(n/10)+n%10;
    4. }
    5. return n%10;
    6. }

    40.递归求斐波那契数列的第 N 项

    1. public static int fib(int n) {
    2. if(n == 1 || n == 2) {
    3. return 1;
    4. }
    5. return fib(n-1)+fib(n-2);
    6. }

    41.按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4) (递归)

    假设用F(n) 代表 要顺序打印n的每一位,如果n是一个1位数,直接输出,如果n是2位数以上。

    如:

    123 相当于先打印12的每一位,再打印3

    12 相当于先打印1的每一位,再打印2

    1 只有一位数,直接打印。

    依次回退打印完,每一位即可。

    1. public static void print(int n) {
    2. if(n <= 9) {
    3. System.out.println(n%10);
    4. return;
    5. }
    6. print(n/10);
    7. System.out.println(n%10);
    8. }

    42.递归求 1 + 2 + 3 + ... + 10

    1. public static int add(int n) {
    2. if(n == 1) {
    3. return 1;
    4. }
    5. return n+add(n-1);
    6. }

    43.递归求 N 的阶乘

    1. /**
    2. * 阶乘的代码!
    3. * 递归的优点:代码量少
    4. * @param n
    5. * @return
    6. */
    7. public static int fac(int n) {
    8. if(n == 1) {
    9. return 1;
    10. }
    11. return n * fac(n-1);
    12. }

    44.改变原有数组元素的值

    实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}

    1. //方式一:扩大的还是原来的数组,这样做的不好的地方是,改变了原来数组的值
    2. public static void func2(int[] array) {
    3. for (int i = 0; i < array.length; i++) {
    4. array[i] = array[i]*2;
    5. }
    6. }
    7. //方式二:扩大的新的数组,没有修改原来的值
    8. public static int[] func3(int[] array) {
    9. int[] tmp = new int[array.length];//
    10. for (int i = 0; i < array.length; i++) {
    11. tmp[i] = array[i]*2;
    12. }
    13. return tmp;
    14. }

    45.创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100

    1. public static void main(String[] args) {
    2. int[] array = new int[100];
    3. for (int i = 0; i < array.length; i++) {
    4. //题目要求赋值1-100,这里利用下标的值,然后+1即可。
    5. array[i] = i+1;
    6. }
    7. }

    46.两数之和

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

    示例 1:

    输入:nums = [2,7,11,15], target = 9

    输出:[0,1]

    解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

    1. public int[] twoSum(int[] nums, int target) {
    2. int[] result = new int[2];
    3. // 双指针i和j,i从前向后遍历,j从后向i遍历,若arr[i]+arr[j]=target,即为题解
    4. for (int i = 0; i < nums.length - 1; i++) {
    5. for (int j = nums.length - 1; j > i; j--) {
    6. if (nums[i] + nums[j] == target) {
    7. result[0] = i;
    8. result[1] = j;
    9. }
    10. }
    11. }
    12. return result;
    13. }

     47.给定一个整型数组, 实现冒泡排序(升序排序)

    1. public static void bubbleSort(int[] array) {
    2. boolean flg = false;
    3. //1、确定一个趟数
    4. for (int i = 0; i < array.length-1; i++) {
    5. for (int j = 0; j < array.length-1-i; j++) {
    6. if(array[j] > array[j+1]) {
    7. int tmp = array[j];
    8. array[j] = array[j+1];
    9. array[j+1] = tmp;
    10. flg = true;
    11. }
    12. }
    13. if(flg == false) {
    14. //没有交换
    15. break;
    16. }
    17. }
    18. }

    48.给定一个整型数组, 判定数组是否有序(递增)

    49.定一个有序整型数组, 实现二分查找

    1. public static int binarySearch(int[] array,int key) {
    2. int left = 0;
    3. int right = array.length-1;
    4. while (left <= right) {
    5. int mid = (left+right)/2;
    6. if(array[mid] == key) {
    7. return mid;
    8. }else if(array[mid] < key) {
    9. left = mid+1;
    10. }else {
    11. right = mid-1;
    12. }
    13. }
    14. return -1;//代表没有找到这个数字
    15. }

     50.实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组.

  • 相关阅读:
    Redis-带你深入学习数据类型list
    V2X应用 汇总
    Python入门(二)
    SSM整合分页插件
    mysql drop table 死锁
    EasyExcel的使用
    展商企业【广东伟创科技开发有限公司】| 2024水科技大会暨技术装备成果展
    Http协议
    【GO语言卵细胞级别教程】10.探索Go语言中神奇的Map类型:解密键值对的魔力(含习题)
    计算机毕业设计(附源码)python在线考试系统
  • 原文地址:https://blog.csdn.net/weixin_51912875/article/details/126000921
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号