码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 笔试强训——day05


    一、杨辉三角杨辉三角icon-default.png?t=M85Bhttps://leetcode.cn/problems/pascals-triangle/

    1、解题思路

    ①首先选取ArrayList动态开辟空间,list代表整个杨辉三角其中里面有包含了杨辉三角的每一行所以类型为List,list1道标杨辉三角的第一行也就是只有一个元素1

    ②然后是创建杨辉三角的每一行(除已经创建好的第一行以外),每一行的第一个依旧是1,然后创建一链表pre来保存当前链表的上一行

    ③从第二个加点开始白能力每一行的数据,该数据等于上一行紧挨着的两个数据之和,下图可以考到在坐标(2,1)的数据等于左边(2-1,1-1)和数据(2-1,1)的和

    ④由此可以等到公式(i,j)=(i-1,j-1)+(i-1,j)

    ⑤最后再把i=j位置的元素赋值成1,即可

    2、详细代码

    1. public List> generate(int numRows) {
    2. List> list=new ArrayList<>();
    3. List list1=new ArrayList<>();
    4. list1.add(1);
    5. list.add(list1);
    6. for (int i = 1; i
    7. List list2=new ArrayList<>();
    8. list2.add(1);
    9. List pre=list.get(i-1);
    10. for (int j = 1; j
    11. int num=pre.get(j-1)+pre.get(j);
    12. list2.add(num);
    13. }
    14. list2.add(1);
    15. list.add(list2);
    16. }
    17. return list;
    18. }

     二、计算字符串的数字和计算字符串的数字和icon-default.png?t=M85Bhttps://leetcode.cn/problems/calculate-digit-sum-of-a-string/

    1、思路解析

    ①这里的while相当于递归

    ②先创建一个变量保存字符串的长度。因为每一次 的while都会改变字符串的长度

    ②最外层的循环相当于把整个数组分成没k个元素一组的新数组

    ③最里层的循环相当于把分好的每一组中的每一个元素加起来

    ④最后通过StringBuilder的append方法尾插进新建的sb中

    2、详细代码

    1. public String digitSum(String s, int k) {
    2. while (s.length() > k) {
    3. int n = s.length();
    4. StringBuilder sb = new StringBuilder();
    5. for (int i = 0; i < n; i += k) {
    6. int sum = 0;
    7. for (int j = 0; j < k && i + j < n; j++) {
    8. sum += s.charAt(i + j) - '0';
    9. }
    10. sb.append(sum);
    11. }
    12. s = sb.toString();
    13. }
    14. return s;
    15. }

     三、回文链表回文链表icon-default.png?t=M85Bhttps://leetcode.cn/problems/palindrome-linked-list-lcci/

    1、思路解析

    ①先遍历链表把每个每个节点放到新建的顺序表中

    ②然后通过快慢指针遍历顺序表,判断是否为回文array.get(i).equals(array.get(j))

    2、详细代码

    1. public boolean isPalindrome(ListNode head) {
    2. if (head==null||head.next==null){
    3. return true;
    4. }
    5. List array=new ArrayList<>();
    6. ListNode cur=head;
    7. while (cur!=null){
    8. array.add(cur.val);
    9. cur=cur.next;
    10. }
    11. int i=0;
    12. int j=array.size()-1;
    13. while (i
    14. if (array.get(i).equals(array.get(j))){
    15. i++;
    16. j--;
    17. }else {
    18. return false;
    19. }
    20. }
    21. return true;
    22. }

  • 相关阅读:
    QFile(文件)
    C++DAY42
    关于 虚拟 DOM、Shadow DOM 和 DocumentFragment
    日志监控系统 loki 配置文件详解
    一文了解气象观测站是什么?
    Linux宝塔面板高并发优化方案
    7、css3实现边框不停地跑动效果
    es_02
    【已解决】pycharm 突然每次点击都开新页面,关不掉怎么办?
    强强联手,NVIDIA 与 Ampere Computing 重磅推出云原生服务器平台
  • 原文地址:https://blog.csdn.net/weixin_63059571/article/details/127417329
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号