①首先选取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,即可
- public List
> generate(int numRows) {
- List
> list=new ArrayList<>();
- List
list1=new ArrayList<>(); - list1.add(1);
- list.add(list1);
- for (int i = 1; i
- List
list2=new ArrayList<>(); - list2.add(1);
- List
pre=list.get(i-1); - for (int j = 1; j
- int num=pre.get(j-1)+pre.get(j);
- list2.add(num);
- }
- list2.add(1);
- list.add(list2);
- }
- return list;
- }
二、计算字符串的数字和计算字符串的数字和https://leetcode.cn/problems/calculate-digit-sum-of-a-string/
1、思路解析
①这里的while相当于递归
②先创建一个变量保存字符串的长度。因为每一次 的while都会改变字符串的长度
②最外层的循环相当于把整个数组分成没k个元素一组的新数组
③最里层的循环相当于把分好的每一组中的每一个元素加起来
④最后通过StringBuilder的append方法尾插进新建的sb中
2、详细代码
- public String digitSum(String s, int k) {
- while (s.length() > k) {
- int n = s.length();
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < n; i += k) {
- int sum = 0;
- for (int j = 0; j < k && i + j < n; j++) {
- sum += s.charAt(i + j) - '0';
- }
- sb.append(sum);
- }
- s = sb.toString();
- }
- return s;
- }
三、回文链表回文链表https://leetcode.cn/problems/palindrome-linked-list-lcci/
1、思路解析
①先遍历链表把每个每个节点放到新建的顺序表中
②然后通过快慢指针遍历顺序表,判断是否为回文array.get(i).equals(array.get(j))
2、详细代码
- public boolean isPalindrome(ListNode head) {
- if (head==null||head.next==null){
- return true;
- }
- List
array=new ArrayList<>(); - ListNode cur=head;
- while (cur!=null){
- array.add(cur.val);
- cur=cur.next;
- }
- int i=0;
- int j=array.size()-1;
- while (i
- if (array.get(i).equals(array.get(j))){
- i++;
- j--;
- }else {
- return false;
- }
- }
- return true;
- }
-
相关阅读:
android 10车载桌面ActivityView触摸事件源码详解分析
spring boot整合mybatis,mybatis generator ,自定义typhandler
(提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
java---类加载器
一个关于IntroductionAdvisor的bug
fastjson 1.2.47 远程命令执行漏洞
ASP.NET Core GRPC 和 Dubbo 互通
AVL 树
适合零基础学习者的Java学习路线图到底长啥样?一篇文章带你学会Java
从Kafka中学习高性能系统如何设计
-
原文地址:https://blog.csdn.net/weixin_63059571/article/details/127417329