题目描述
给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。
如果反转后整数超过32位的有符号整数的范围 [−2^31,2^31−1],就返回 0。
假设环境不允许存储64位整数(有符号或无符号)。
思路
1.数字反转
利用%和/,将x的最后一位数字提取出来,放到返回数字rev的最前面,由于是10进制整数,所以只要每次操作时*10进一位。
int digit = x % 10;// 提取最后一位数字
x /= 10;// x去除最后一位
rev = rev*10 + digit;// rev初始值为0,赋值给最终的数字
2.整数反转的范围限制
题目要求x是32位无符号整数,环境不允许存储64位整数
反转后整数超过32位的有符号整数的范围就返回0
官方思路
-2^31 <= rev * 10 + digit <= 2^31-1
不等式不成立则返回0
然后一堆花里胡哨数学操作ToT
推导成了
(-2^31)/10 <= rev <= (2^31-1)/10写的乱主要是不会传图,划掉
//最终代码,这里INT_MIN和INT_MAX应该是c语言中定义的int型的最大最小值
int reverse(int x) {
int rev = 0;
while (x != 0) {
if (rev < INT_MIN / 10 || rev > INT_MAX / 10) {
return 0;
}
int digit = x % 10;
x /= 10;
rev = rev * 10 + digit;
}
return rev;
}
我的理解
在数字转化的过程中,只要x不为0,rev就会比原来的值大10倍+,即rev = rev*10 + digit,所以为了避免超出范围,只要将rev和极值的1/10进行比较(在x!=0的前提下)。
假如还需要缩小范围,可以1、极值/100;2、条件改为while(x/10 !=0),不过该情况下对于x==0要单独考虑
今日总结
- 对于算法这方面还有很多需要加强的地方,主要在于做题的思路方面,需要多加练习。
- C、Java的基础方面还很薄弱,需要加强,多加练习
- 中等难度的题目就一头雾水了[o(╥﹏╥)o],我可真菜
本文由 szr 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 14, 2021 at 04:46 pm
http://registr-a.ru
url=
Сантехника в Минске!
Интернет-магазин сантехники Байдом предлагает купить сантехнику для ванной, кухни или туалета.
В каталоге представлено более 100 000 товарных позиций самых известных и популярных брендов
стран Европы, Азии и России.
Вы можете сделать заказ товаров онлайн. Удобная оплата и доставка в любой город Беларуси,
по вашему адресу. Также приглашаем посетить один из наших розничных магазинов в Минске,
Витебске и Могилеве.
Предоставляем рассрочку без процентов и переплат.
У нас регулярно проходят акции, большие скидки и распродажи,
позволяющие легко приобрести дорогие товары по очень выгодным ценам.
На нашем сайте вы можете заказать услугу установки душевой кабины, гидромассажной ванны и
другой техники, которую вы приобрели у нас.
Сайт интернет-магазин сантехники bydom.by
url=
url=
Всё о строительстве, дизайне и ремонте в своём доме.
Что вы найдете на нашем сайте?
Экспертные советы
Статьи разработаны профессионалами в области строительства, дизайна и ремонта.
Полезные ресурсы
Ссылки на проверенные магазины, услуги и материалы, которые помогут вам в ваших проектах.
Модные тренды
Мы следим за последними тенденциями и новинками в мире строительства и дизайна.
«Свой Угол» – ваш проводник в мире уюта и стиля в вашем доме. Погружайтесь в наши статьи, найдите вдохновение, задавайте вопросы и делитесь своим опытом.
Создайте свой угол вместе с нами!
Информационный портал svoyugol.by
url=
https://saloncloudsplus.com/authpaymet/pgs/888starz-promo-code.html
для коммерческого помещения.
с использованием привода.
Подсказки по выбору и установке привода для жалюзей.
Преимущества автоматизированного привода для жалюзи.
Тенденции в автоматизации жалюзи с помощью привода.
Как управлять жалюзями с помощью смартфона с использованием привода.
Шаг за шагом по инструкции по установке привода для жалюзи.
Экономьте время и энергию с автоматизированным приводом для жалюзи.
Необычное применение приводов для управления жалюзями.
Как повысить уровень комфорта с приводом для жалюзи.
жалюзи вентиляционные с ручным приводом жалюзи вентиляционные с ручным приводом .
The promo code for 1XBET is "1XBUM." By utilizing this code, you can unlock a special bonus for sports betting, offering a 100% match up to $130, or for casino games, a bonus of $1,950 along with 150 free spins. New players have the opportunity to input our 1xBet bonus code to enhance the standard sports free bet bonus by an additional $100. A 1xBet promo code consists of a combination of letters and numbers that you enter in a designated voucher field to access these advantageous offers.
[url=http://centroculturalrecoleta.org/blog/pages/1xbet_promo_code_2022.html]free promo code 1xbet today[/url]
The promo code for 1XBET is "1XBUM." By utilizing this code, you can unlock a special bonus for sports betting, offering a 100% match up to $130, or for casino games, a bonus of $1,950 along with 150 free spins. New players have the opportunity to input our 1xBet bonus code to enhance the standard sports free bet bonus by an additional $100. A 1xBet promo code consists of a combination of letters and numbers that you enter in a designated voucher field to access these advantageous offers.
[url=https://playplayfun.com/articles/1xbet_promo_code_nigeria_bonus.html]what is 1xbet promo code[/url]
пары порно чат
[url=https://rt.chatflirt18.ru]видео чат порно пары[/url] рунетки пары
https://www.certificadosenergeticos.com/wp-content/pages/code-promo-1xbet-bonus-inscription.html
секс чат пара
бонго эро чат онлайн эро чат пары