码农知识堂 - 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. }

  • 相关阅读:
    思维调试:调用ShellExecute后为什么程序没有启动
    有趣的java面试题-集合篇 (二) Map
    2024采用JSP的酒店客房管理系统源代码+毕业设计论文+开题报告+答辩PPT
    JS 多字段拼接为字符串,并处理掉 null 的情况
    C#/Unity3D 单例模板(单例属性模板)
    R语言和医学统计学(10):正态性和方差齐性检验
    2022 CVPR 三维人体重建相关论文汇总(3D Human Reconstruction)
    【uniapp】安装与使用uView组件库:
    基于图搜索的规划算法之A*家族(五):D* 算法
    2019年Java面试题汇总
  • 原文地址:https://blog.csdn.net/weixin_63059571/article/details/127417329
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号