<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: vinnugollakoti</title>
    <description>The latest articles on DEV Community by vinnugollakoti (@vinnugollakoti).</description>
    <link>https://dev.to/vinnugollakoti</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2574960%2Faadc7583-192d-424b-b8a4-27012bce818f.png</url>
      <title>DEV Community: vinnugollakoti</title>
      <link>https://dev.to/vinnugollakoti</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vinnugollakoti"/>
    <language>en</language>
    <item>
      <title>Lioric: Recent Updates.</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Wed, 03 Jun 2026 06:48:19 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/lioric-recent-updates-2ki1</link>
      <guid>https://dev.to/vinnugollakoti/lioric-recent-updates-2ki1</guid>
      <description>&lt;p&gt;Hello Developers!&lt;/p&gt;

&lt;p&gt;Recently, I released a new &lt;strong&gt;Lioric&lt;/strong&gt; version &lt;code&gt;0.1.9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now our &lt;strong&gt;Lioric&lt;/strong&gt; Widget is completely customizable according to your website UI.&lt;/p&gt;

&lt;p&gt;Changes happened in this update:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Now the model props in the Lioric tag are optional; you can just leave those props, our widget automatically takes the model name as "gemini-3-flash-preview." In the future, if we introduce any other models, you can just specify that model using the prop name as "model" as before.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another major update about Liroic Widget, Now the Liroic Widget is completely customizable, starting from the widget logo to all the colours and Assistant name etc. Now the user can update the colors and the logo according to their website UI.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Updated Tag :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Lioric&lt;/span&gt;
      &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"lioric_live_..."&lt;/span&gt;
      &lt;span class="na"&gt;llmApiKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"your_gemini_api_key"&lt;/span&gt;
      &lt;span class="na"&gt;assistantName&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"your_assisstant_name"&lt;/span&gt;
      &lt;span class="na"&gt;logoSrc&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/brand-bot.gif"&lt;/span&gt;
      &lt;span class="na"&gt;logoAlt&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Lioric"&lt;/span&gt;
      &lt;span class="na"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;accentColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#2563eb&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;launcherBackground&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#111827&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;userMessageBackground&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#2563eb&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;assistantMessageBackground&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#f8fafc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;assistantMessageTextColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#0f172a&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom-left"&lt;/span&gt;
    &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The theme prop is completely optional. If you don't want the customized colors, you can just remove them and use the default colors. same with logoAlt and logoSrc as well. All the customizations are not necessary.&lt;/p&gt;

&lt;p&gt;That's all, Thanks!&lt;br&gt;
Stay tuned for future updates with me...&lt;/p&gt;

&lt;p&gt;Author/Builder : &lt;a href="https://x.com/VinnuGollakoti" rel="noopener noreferrer"&gt;Vinnugollakoti&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>react</category>
      <category>reactnative</category>
      <category>widget</category>
    </item>
    <item>
      <title>Lioric: A Simple AI Chatbot Widget</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 02 Jun 2026 11:43:23 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/lioric-a-simple-ai-chatbot-widget-2caa</link>
      <guid>https://dev.to/vinnugollakoti/lioric-a-simple-ai-chatbot-widget-2caa</guid>
      <description>&lt;p&gt;Hello Developers,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lioric&lt;/strong&gt; is Live now!!&lt;/p&gt;

&lt;p&gt;You can visit &lt;a href="https://lioric.vercel.app/" rel="noopener noreferrer"&gt;lioric.vercel.app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: Sign in to the Lioric dashboard using your GitHub account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Click create project and add the project name and upload the PDF, which contains all the data, including ( Terms and conditions, policies, instructions) of your entire e-commerce. After uploading the PDF, click Create Project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;: After clicking the create project button, Lioric will take 1-2 minutes, and then it will give you the client api and instructions on how to use it.&lt;/p&gt;

&lt;p&gt;That's it!!&lt;/p&gt;

&lt;p&gt;You can create your own chatbot for your e-commerce website in just three steps.&lt;/p&gt;

&lt;p&gt;If you still have any doubts, ask Grok.com. Include the npm package URL or command, and also include this blog link for better results.&lt;/p&gt;

&lt;p&gt;Builder info:&lt;br&gt;
&lt;strong&gt;Vinnugollakoti&lt;/strong&gt;&lt;br&gt;
Connect with me via &lt;strong&gt;X&lt;/strong&gt; : &lt;a href="https://x.com/VinnuGollakoti" rel="noopener noreferrer"&gt;vinnugollakoti&lt;/a&gt;&lt;br&gt;
My GitHub: &lt;a href="https://github.com/vinnugollakoti/" rel="noopener noreferrer"&gt;vinnugollakoti&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>powerplatform</category>
    </item>
    <item>
      <title>Lioric: Seamless AI Chatbot Widget</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Mon, 18 May 2026 02:19:24 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/lioric-seamless-ai-chatbot-widget-1954</link>
      <guid>https://dev.to/vinnugollakoti/lioric-seamless-ai-chatbot-widget-1954</guid>
      <description>&lt;p&gt;Hello Developers 👋!&lt;/p&gt;

&lt;p&gt;Just now updated the Lioric SDK.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Current version : 0.1.5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Solved a major CSS issue, that we have to import a line with our Lioric import statement, then the imports looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Lioric&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;lioric-react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;lioric-react/styles.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In Tomorrow's update ill be removing the second line, no need to import the CSS file, the Lioric tag automatically gets the CSS of the widget.&lt;/p&gt;

&lt;p&gt;The Lioric dashboard also has some updates.&lt;br&gt;
Now the Lioric dashboards shows analytics of each lioric client key. Analytics includes the number of api calls hits the backend with that client key and also the request success rate.&lt;/p&gt;

&lt;p&gt;Major update from yesterday: The entire Lioric backend shifted from python to javascript.&lt;/p&gt;

&lt;p&gt;Thanks!!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>widget</category>
      <category>react</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Lioric: An AI Chatbot Widget</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Sun, 17 May 2026 02:02:01 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/lioric-an-ai-chatbot-widget-432m</link>
      <guid>https://dev.to/vinnugollakoti/lioric-an-ai-chatbot-widget-432m</guid>
      <description>&lt;p&gt;Hello Developers👋&lt;/p&gt;

&lt;p&gt;Recently Im working on a project called &lt;strong&gt;Lioric&lt;/strong&gt;: An AI chatbot widget.&lt;/p&gt;

&lt;p&gt;Basically, it is just a tag in frontend, install the &lt;a href="https://www.npmjs.com/package/lioric-react" rel="noopener noreferrer"&gt;lioric-react&lt;/a&gt; package from npm, pnpm etc.&lt;/p&gt;

&lt;p&gt;Import the tag like :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Lioric&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;lioric-react&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Lioric&lt;/span&gt;
 &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"lioric_live_client_key"&lt;/span&gt;
 &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bottom-left"&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Its that simple, you just have to get the lioric client key by signing into the lioric dashboard and create a project and then upload all your website data via pdf and then select the cheapest model and manage your AI keys and then create your project.&lt;/p&gt;

&lt;p&gt;Then, Lioric will give you a client key, paste the client key, and select the position of the AI assistant.&lt;/p&gt;

&lt;p&gt;Soon adding the UI management, for example: adding images, gifs, colors, etc.&lt;/p&gt;

&lt;p&gt;Im still building the product, but this is the complete idea of it.&lt;/p&gt;

&lt;p&gt;Builder info:&lt;br&gt;
Vinnugollakoti&lt;br&gt;
Connect with me via X : &lt;a href="https://x.com/VinnuGollakoti" rel="noopener noreferrer"&gt;vinnugollakoti&lt;/a&gt;&lt;br&gt;
My GitHub: &lt;a href="https://github.com/vinnugollakoti/" rel="noopener noreferrer"&gt;vinnugollakoti&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks!!&lt;/p&gt;

</description>
      <category>npm</category>
      <category>ai</category>
      <category>react</category>
      <category>widget</category>
    </item>
    <item>
      <title>gpushx: The All-in-One CLI That Made My GitHub + Deployment Workflow 10x Faster</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Sat, 16 May 2026 09:32:09 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/gpushx-3n38</link>
      <guid>https://dev.to/vinnugollakoti/gpushx-3n38</guid>
      <description>&lt;p&gt;Hey developers! 👋&lt;/p&gt;

&lt;p&gt;I'm &lt;strong&gt;Vinnu&lt;/strong&gt; (&lt;a class="mentioned-user" href="https://dev.to/vinnugollakoti"&gt;@vinnugollakoti&lt;/a&gt;), Software Engineer from India. Over the years, I’ve worked on Web2, Web3, and multiple AI projects. One thing that always frustrated me was the constant context-switching between terminal, browser, GitHub dashboard, Vercel, and Render.&lt;/p&gt;

&lt;p&gt;So, I built &lt;strong&gt;gpushx&lt;/strong&gt; — a lightweight, developer-friendly CLI that brings the entire workflow into the terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is gpushx?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;gpushx&lt;/strong&gt; is a smart CLI tool that lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create GitHub repositories&lt;/li&gt;
&lt;li&gt;Push branches&lt;/li&gt;
&lt;li&gt;Create Gists&lt;/li&gt;
&lt;li&gt;Merge PRs&lt;/li&gt;
&lt;li&gt;Deploy to Vercel (frontend)&lt;/li&gt;
&lt;li&gt;Deploy to Render (backend)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…all with simple, memorable commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install it right now:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm i &lt;span class="nt"&gt;-g&lt;/span&gt; gpushx
&lt;span class="c"&gt;# or&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; gpushx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why I Built gpushx ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As a solo builder and indie hacker, I was tired of this repetitive flow:&lt;/p&gt;

&lt;p&gt;Go to GitHub → Create repo → Copy commands&lt;br&gt;
Push code&lt;br&gt;
Go to Vercel/Render → Create project → Connect repo → Deploy&lt;/p&gt;

&lt;p&gt;With gpushx, I reduced this entire process to just 2–3 commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features That I Love&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gpush setup, One-time GitHub login &lt;span class="o"&gt;(&lt;/span&gt;Device Flow&lt;span class="o"&gt;)&lt;/span&gt;
gpush init &lt;span class="o"&gt;[&lt;/span&gt;name], Initialize git + create repo + first push
gpush create &amp;lt;branch-name&amp;gt;, &lt;span class="s2"&gt;"Create branch, commit, push + optional PR"&lt;/span&gt;
gpush merge &amp;lt;branch&amp;gt;, Merge branch into main via PR
gpush verify, Beautiful status of your repo
gpush gist &amp;lt;file&amp;gt;, Create GitHub Gist instantly
gpush deploy vercel &lt;span class="nt"&gt;--prod&lt;/span&gt;, Full Vercel deployment
gpush deploy render, Full Render backend deployment
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Who Should Use gpushx?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indie hackers &amp;amp; solo developers&lt;br&gt;
Full-stack engineers who ship fast&lt;br&gt;
Students and beginners who hate browser workflows&lt;br&gt;
Anyone tired of GitHub CLI complexity&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;br&gt;
I’m planning to add:&lt;br&gt;
Support for Netlify &amp;amp; Railway&lt;br&gt;
Better error handling and gpush doctor&lt;br&gt;
Multi-platform support (GitLab coming soon?)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;gpushx&lt;/strong&gt; is still early, but it’s built with love for developers who just want to build and ship faster.&lt;br&gt;
If you try it, I’d love to hear your feedback — what’s missing, what’s painful, or what you want next.&lt;br&gt;
Drop a comment below 👇&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About the Author&lt;/strong&gt;&lt;br&gt;
Vinnu Gollakoti&lt;br&gt;
Building AI tools &amp;amp; developer experience products&lt;br&gt;
Creator of gpushx, lioric-react, and more.&lt;br&gt;
Follow me on X: &lt;a href="https://x.com/VinnuGollakoti" rel="noopener noreferrer"&gt;@VinnuGollakoti&lt;/a&gt;&lt;/p&gt;

</description>
      <category>npm</category>
      <category>cli</category>
      <category>terminal</category>
      <category>github</category>
    </item>
    <item>
      <title>Day 38 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Sun, 22 Dec 2024 10:24:45 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-38-journal-56p4</link>
      <guid>https://dev.to/vinnugollakoti/day-38-journal-56p4</guid>
      <description>&lt;p&gt;Hi, Folks! Today, I solved three problems on LeetCode: Letter Combination of a Phone Number, Container with Most Water, and Rotate Array. Solving different problems every day helps us to think about problems from different angles. There are various ways to solve a problem. If you find one way to solve it, don't stop there try to optimize the solution further. This will help you find the most efficient way to solve the given problem.&lt;/p&gt;

&lt;p&gt;Letter Combination of a Phone Number: We can use the concept of backtracking with one base condition to solve this problem. We have to find all possible combinations of characters linked to specific digits in the given input. The base condition will help us stop the function's execution when necessary. This approach allows us to solve the problem effectively.&lt;/p&gt;

&lt;p&gt;Container with Most Water: In this problem we need to find the maximum area that can be formed. We can traverse array using two pointers one which starts from the beginning and other from the end and thus we will efficiently able to find the solution for that.&lt;/p&gt;

&lt;p&gt;Rotate Array: The problem here is to rotate the array by a given number of positions. We can do this by slicing the array according to the given position and creating a new array by appending the slices in the correct order. This approach solves the problem effectively.&lt;/p&gt;

&lt;p&gt;I hope my experience will be helpful to you.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 60 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 04:22:15 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-60-journal-5a54</link>
      <guid>https://dev.to/vinnugollakoti/day-60-journal-5a54</guid>
      <description>&lt;p&gt;Hi, Folks! Today, I solved three problems on LeetCode: Single Number, First Missing Positive, and Next Greater Element III. There are some common mistakes that most of us make myself included. For instance, when we come across an easy problem, we might be tempted to ignore it or use a familiar approach to quickly solve it, then move on without exploring further. However, it’s important to use resources to determine whether the solution you found is the most efficient one. If it’s not, take the time to learn the more efficient solution.&lt;/p&gt;

&lt;p&gt;Single Number is an easy problem, and I was familiar with one approach. However, I was curious to find the most efficient solution. When I discovered it, I was really surprised that the problem could be solved in such an efficient way.&lt;/p&gt;

&lt;p&gt;Similarly, when solving First Missing Positive and Next Greater Element III, it’s crucial to focus on building a solid logic first. Then, break it down into smaller steps this will simplify the process. Approaching problems in this way helps to develop better solutions.&lt;/p&gt;

&lt;p&gt;I hope my experience will be helpful to you.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 50 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 04:20:32 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-50-journal-2f6f</link>
      <guid>https://dev.to/vinnugollakoti/day-50-journal-2f6f</guid>
      <description>&lt;p&gt;Hi, Folks! Today, I solved three problems on LeetCode: Single Number, First Missing Positive, and Next Greater Element III. There are some common mistakes that most of us make myself included. For instance, when we come across an easy problem, we might be tempted to ignore it or use a familiar approach to quickly solve it, then move on without exploring further. However, it’s important to use resources to determine whether the solution you found is the most efficient one. If it’s not, take the time to learn the more efficient solution.&lt;/p&gt;

&lt;p&gt;Single Number is an easy problem, and I was familiar with one approach. However, I was curious to find the most efficient solution. When I discovered it, I was really surprised that the problem could be solved in such an efficient way.&lt;/p&gt;

&lt;p&gt;Similarly, when solving First Missing Positive and Next Greater Element III, it’s crucial to focus on building a solid logic first. Then, break it down into smaller steps this will simplify the process. Approaching problems in this way helps to develop better solutions.&lt;/p&gt;

&lt;p&gt;I hope my experience will be helpful to you.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 54 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 04:11:58 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-54-journal-29ji</link>
      <guid>https://dev.to/vinnugollakoti/day-54-journal-29ji</guid>
      <description>&lt;p&gt;Hi, Folks! Today, I solved three problems on LeetCode : Rotting Oranges, Maximize confusion in exam, and Koko eating Bananas. All these examples are very conceptual and logical. The most important part is to observe that these three problems connect to our real life scenarios.&lt;/p&gt;

&lt;p&gt;The problems that are related to real life can easily grasp our attention and easy for visualize. The real life examples will help us to remember the concepts for long time. let me give you a example:&lt;/p&gt;

&lt;p&gt;Sliding window maximum is a problem solved using dequeue. When you first read the problem statement, it may seem like a purely mathematical problem involving array of numbers.&lt;/p&gt;

&lt;p&gt;Rotting Oranges is another problem solved using dequeue. but, it is framed in a real life situation, which makes the concept more relatable and engaging.&lt;/p&gt;

&lt;p&gt;So, now you can clearly observe that the problem related to real life will look more engaging when compared to mathematical problems.&lt;/p&gt;

&lt;p&gt;Maximize confusion in exam : In this problem we can traverse through out the provided string and keep track of length. This will help us to interchange the position of Boolean values to get maximum possible length.&lt;/p&gt;

&lt;p&gt;I hope my experience is helpful.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 52 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 04:09:33 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-52-journal-9hk</link>
      <guid>https://dev.to/vinnugollakoti/day-52-journal-9hk</guid>
      <description>&lt;p&gt;Hi, Folks! Today, I solved three questions on LeetCode: Basic Calculator II, Subsets, and Subsets II.&lt;/p&gt;

&lt;p&gt;I have noticed that some problems on LeetCode are connected in terms of concepts and logics, like subsets and subsets II. Solving these related problems in a specific way can be a effective step in your learning process.&lt;/p&gt;

&lt;p&gt;For Beginners:&lt;/p&gt;

&lt;p&gt;If, you are just started. Plan to solve the connected problems on same day or at least on successive days. This helps the beginners to practice the same core concept multiple times along with some new concept.&lt;/p&gt;

&lt;p&gt;For Advanced Solvers:&lt;/p&gt;

&lt;p&gt;Plan to solve the connecting problems with a significant days gap in between. This method help you to test the ability to recall and apply the concepts after break, which is a right way to test problem solving skills.&lt;/p&gt;

&lt;p&gt;In this way solving connecting problems in specific order can help you to enhance your learning.&lt;/p&gt;

&lt;p&gt;As a beginner, I planned to solve subsets and subsets II together this helped me to practice the core recursive concept for multiple times and also helped me to learn the way to adapt the solution to solve second problem with additional complexity.&lt;/p&gt;

&lt;p&gt;I hope my experience will be helpful.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 47 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 03:59:07 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-47-journal-1fp9</link>
      <guid>https://dev.to/vinnugollakoti/day-47-journal-1fp9</guid>
      <description>&lt;p&gt;Hi, Folks! Today I solved three problems on LeetCode : Unique Paths, Spiral matrix, and N-Queens. Let’s walk through these problems.&lt;/p&gt;

&lt;p&gt;Unique paths problem&lt;/p&gt;

&lt;p&gt;We are given two numbers, representing number of rows and number of columns. Our task is to find the total number of unique paths to reach the position (m-1,n-1) from (0,0). To solve this problem, we can follow recursive approach. We can start from (0,0) recursively find steps to travel right and bottom until we reach the required position. To find total unique paths, we would add the right steps to bottom steps and return it. However, there is a small issue with this approach: the solutions may repeat number of times. To overcome this, the alternative approach is to use DP matrix. We create a DP matrix with same number of rows and columns as input and we initialize all positions of DP matrix with 1. Finally, we return the value in the lats cell of DP matrix as total number off unique paths.&lt;/p&gt;

&lt;p&gt;Spiral Matrix&lt;/p&gt;

&lt;p&gt;We are given with a matrix and we have to return a list containing the elements of matrix in spiral order. To solve this problem, we can use indexing limits as conditions to run a loop. We traverse from left to right of matrix we can use one for loop. Then, we move from the top-right corner to the bottom-right corner with another loop. We traverse from the bottom-right corner to the bottom-left corner using a third loop. Finally, we move from the bottom-left corner to the top-left corner with a fourth loop. In this way, we use four different loops to traverse in all four directions, controlling them with indexing limits.&lt;/p&gt;

&lt;p&gt;N-Queens&lt;/p&gt;

&lt;p&gt;We are given with a input number n, we have to find the number of ways to place n queens in nxn matrix such that no two queens will attack each other. This means no two queens should be in same row, column, or diagonal. To solve this problem, we can use recursion and backtracking concepts. We can first perform recursion to repeat the process multiple times. because, we need to find all the possible ways to place queens. Backtracking is performed when we did not find the correct position to place queen then we can replace ‘Q’ with ‘.’ and repeat the process for the next position.&lt;/p&gt;

&lt;p&gt;We can optimize the above solution by using three lists. One lists is to keep track of number of rows. lets say we have n rows we will place n zeros in the list and replace the respective zero by one if that specific row is having queen. This will avoid unnecessary backtracking. Similarly, the second list is for lower diagonal, and third list is for upper diagonal. Both diagonal lists have 2n-1 elements all initially set to zeros. As we traverse through the matrix to place queens, we update the respective row or diagonal list by replacing 0 with 1 when queen is placed. This indicates that no more queens can be placed in that respective diagonal or row. In this way, this approach works efficiently.&lt;/p&gt;

&lt;p&gt;I hope my experience will be helpful.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 45 Journal</title>
      <dc:creator>vinnugollakoti</dc:creator>
      <pubDate>Tue, 17 Dec 2024 03:55:14 +0000</pubDate>
      <link>https://dev.to/vinnugollakoti/day-45-journal-5gic</link>
      <guid>https://dev.to/vinnugollakoti/day-45-journal-5gic</guid>
      <description>&lt;p&gt;Hi, folks! Today I solved three interesting problems on LeetCode : Palindrome linked list, Linked list cycle and Flatten Multilevel doubly linked list. As a Beginner, I felt Flatten Multilevel doubly linked list problem to be a bit challenging. We need to find a perfect recursive approach to solve this problem in efficient way. To determine the correct base condition and recursive function, we need to think in many possible approaches and dry run the code carefully. I also used some resources for the better understanding.&lt;/p&gt;

&lt;p&gt;Linked list cycle is a conceptual problem that introduces a new type in linked list called a circular linked list. This problem helped me to gain conceptual clarity on circular linked list.&lt;/p&gt;

&lt;p&gt;Palindrome linked list problem is having many ways to solve. One of them is using stack data structure and the another way is dividing the linked list into manageable parts and then comparing them. The second approach seems to be a bit lengthy, but it becomes easier when you divide the task into sub tasks and implement them in separate functions. This will make process simplify.&lt;/p&gt;

&lt;p&gt;I hope my experiences will be helpful.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
