ARST
A
Leetcode 9——Palindrome number
题目要求
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
Example 1:
Input: 121
Output: true
Example 2:
Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
C++编写
class Solution {
public:
bool isPalindrome(int x) {
if(x<0)
return false; //输入的数字小于0直接判断为false
int a=0,b=x;
while(b>0)
{
/*此处是重点
*由于会产生一个溢出的问题
*所以需要加上一个判断语句
*如果a的数值已经超过了2147483647中的214748364
*则无需比较,直接false
*/
if (a > INT_MAX / 10)
{
return false;
}
/*可能有人会有疑问最后一位加上之后还是可能溢出。这完全不用考虑
*因为当你的x为10位数且a能通过这个语句,则x的最后一位必小于等于2
*而x第一位也是小于等于2,2<7,那肯定不会溢出
*/
a=a*10+b%10;
b/=10;
}
if(a == x)
return true;
else
return false;
}
};
此题是上次ARST的另一种解法
Leetcode 7——Reverse Integer
题目要求
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
C++编写
class Solution {
public:
int reverse(int x) {
int value=1;
if(x<=INT_MIN) //如果这个数字小于等于了int的最小值,直接返回false
return 0;
if(x<0) //如果这个数小于0,将其换为正数,用value记住符号,最后再将其换负数
{
x=-x;
value=-1;
}
long y=x%10;
while(x/10!=0)
{
x/=10;
y*=10;
y+=x%10;
}
if(y>INT_MAX) //如果转换之后溢出,直接false
return 0;
else
return (int)y * value;
}
};
S
虚拟人类的出现
这篇文章主要是讲了虚拟人类Sara的出现,她是大屏幕电视上的真人大小的脸和躯干,是活动应用程序的前端,人们可以坐下来与Sara聊天。现在人工智能炒得火热,许多大型的公司也是大力进军人工智能领域,想要在这方面有所成就,占领一定的市场,许多人对该产业也非常看好,认为它会给我们人类带来更多的便利,使我们更加轻松。但是也有人认为它也会给我们带来灾难,也许人类会毁在人工智能上,个人觉得这方面确实值得警惕,虽然许多专业人士认为并不可能出现这种情况,但Bug到处都有,谁知道会不会出现这种情况呢,我们不能一味的追求人工智能,同时应该考虑一下它的实际价值以及风险程度。
T
通过这周的学习以及leetcode的练习,学到的东西主要有以下几点:
1.在写一些代码时,需要考虑到溢出问题,有的时候我们常常因为没有考虑到这方面而使自己的程序出现Bug
2.C++中可以用INT_MIN来表示int范围的最小值,用INT_MAX来表示最大值
3.本周学了C++类,总的来说,没学太懂,个人总结一下几点
①类的基本思想是数据抽象和封装。数据抽象是一种把接口和实现分离的编程技术。类的接口包括用户所能够执行的操作,类的实现包括类的数据成员、负责接口实现的函数体和各种私有函数。封装实现了类的接口和实现的分离。封装隐藏了类的实现,封装过后,用户只能访问类的接口,而不能访问类的实现。
②类中有两个关键字private和public,它们描述了程序对类的成员的访问控制。由于隐藏数据是OOP的主要目的之一,所以数据成员一般放在private部分,而接口函数则放在public部分。
③作用域解析运算符(:?,该符号的作用是用来标识一个函数所属的类。例如当我们输入Student::average()时。表示我们访问的average()方法属于Student类而不是其他的类。 那么std::cout这个应该也是类似的吧
R
这周学习了类,感觉课程确实是飚得太快了啊,只有自己自学了,但是书的内容太多,同时也是第一次接触这些东西,所以进度不怎么滴,希望通过对书的阅读以及一些练习的实际操作可以加深自己对类的理解,与此同时也提升自己的技能。下周目标,继续学英语,多看C++ Primer,将这本书的进度赶上来,与此同时对前面已学知识进行一下回顾以及加深对其理解
本文提供了LeetCode中关于回文数及整数反转两道题目的C++解决方案,并讨论了编程过程中需要注意的细节,如溢出处理等。

被折叠的 条评论
为什么被折叠?



