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

  • 相关阅读:
    详解C++中的抽象类和接口
    windows WSL配置cuda,pytorch和jupyter notebook
    STL算法——常用排序算法(sort、random_suffle、merge、reverse)
    IDEA项目取消git版本管控并添加svn版本控制
    Ubuntu 20.04系统中Sage(sagemath)安装及使用详细过程
    NebulaGraph实战:3-信息抽取构建知识图谱
    spring6使用启用Log4j2日志框架
    【PHP】麻醉临床信息系统
    《WEB安全渗透测试》(31)BeEF-XSS一款红队XSS神器
    物联网主机E6000引领工业自动化的新篇章
  • 原文地址:https://blog.csdn.net/weixin_63059571/article/details/127417329
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号